<?php
// GENERATED CODE -- DO NOT EDIT!

// Original file comments:
//
// Сервис управления оповещением
namespace Deviceapis\Device\V1;

/**
 * Сервис управления оповещением
 */
class SafeCityEmergencyServiceClient extends \Grpc\BaseStub {

    /**
     * @param string $hostname hostname
     * @param array $opts channel options
     * @param \Grpc\Channel $channel (optional) re-use channel object
     */
    public function __construct($hostname, $opts, $channel = null) {
        parent::__construct($hostname, $opts, $channel);
    }

    /**
     * Старт оповещения.
     * Где Tick - один цикл оповещения на одном или двух направлениях (трубка, динамик или трубка и динамик).
     * playbacks_per_tick - Количество воспроизведений файла в каждом цикле оповещения на одном направлении (трубка или динамик).
     * tick_count - Количество воспроизведений циклов оповещения.
     * Длительность оповещения = tick_count * (Х * playbacks_per_tick (трубка) + Х * playbacks_per_tick (динамик)).
     * total_duration - Максимальная общая длительность оповещения. По истечении total_duration секунд оповещение прекращается независимо от количества циклов
     * @param \Deviceapis\Device\V1\PostSafeCityEmergencyStartRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function PostSafeCityEmergencyStart(\Deviceapis\Device\V1\PostSafeCityEmergencyStartRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/deviceapis.device.v1.SafeCityEmergencyService/PostSafeCityEmergencyStart',
        $argument,
        ['\Deviceapis\Device\V1\PostSafeCityEmergencyStartResponse', 'decode'],
        $metadata, $options);
    }

    /**
     * Прекращение оповещения
     * @param \Deviceapis\Device\V1\PostSafeCityEmergencyStopRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function PostSafeCityEmergencyStop(\Deviceapis\Device\V1\PostSafeCityEmergencyStopRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/deviceapis.device.v1.SafeCityEmergencyService/PostSafeCityEmergencyStop',
        $argument,
        ['\Deviceapis\Device\V1\PostSafeCityEmergencyStopResponse', 'decode'],
        $metadata, $options);
    }

    /**
     * Получение статуса оповещения
     * @param \Deviceapis\Device\V1\GetSafeCityEmergencyStatusRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function GetSafeCityEmergencyStatus(\Deviceapis\Device\V1\GetSafeCityEmergencyStatusRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/deviceapis.device.v1.SafeCityEmergencyService/GetSafeCityEmergencyStatus',
        $argument,
        ['\Deviceapis\Device\V1\GetSafeCityEmergencyStatusResponse', 'decode'],
        $metadata, $options);
    }

}
