# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: deviceapis/device/v1/deviceapis_device_safe_emergency_v1.proto for package 'Deviceapis.Device.V1'
# Original file comments:
#
# Сервис управления оповещением

require 'grpc'
require 'deviceapis/device/v1/deviceapis_device_safe_emergency_v1_pb'

module Deviceapis
  module Device
    module V1
      module SafeCityEmergencyService
        # Сервис управления оповещением
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'deviceapis.device.v1.SafeCityEmergencyService'

          # Старт оповещения.
          # Где Tick - один цикл оповещения на одном или двух направлениях (трубка, динамик или трубка и динамик).
          # playbacks_per_tick - Количество воспроизведений файла в каждом цикле оповещения на одном направлении (трубка или динамик).
          # tick_count - Количество воспроизведений циклов оповещения.
          # Длительность оповещения = tick_count * (Х * playbacks_per_tick (трубка) + Х * playbacks_per_tick (динамик)).
          # total_duration - Максимальная общая длительность оповещения. По истечении total_duration секунд оповещение прекращается независимо от количества циклов
          rpc :PostSafeCityEmergencyStart, ::Deviceapis::Device::V1::PostSafeCityEmergencyStartRequest, ::Deviceapis::Device::V1::PostSafeCityEmergencyStartResponse
          # Прекращение оповещения
          rpc :PostSafeCityEmergencyStop, ::Deviceapis::Device::V1::PostSafeCityEmergencyStopRequest, ::Deviceapis::Device::V1::PostSafeCityEmergencyStopResponse
          # Получение статуса оповещения
          rpc :GetSafeCityEmergencyStatus, ::Deviceapis::Device::V1::GetSafeCityEmergencyStatusRequest, ::Deviceapis::Device::V1::GetSafeCityEmergencyStatusResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
