//
//  Generated code. Do not modify.
//  source: signaler_service.proto
//
// @dart = 2.12

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:async' as $async;
import 'dart:core' as $core;

import 'package:protobuf/protobuf.dart' as $pb;

import 'signaler_service.pb.dart' as $0;
import 'signaler_service.pbjson.dart';

export 'signaler_service.pb.dart';

abstract class SignalerServiceBase extends $pb.GeneratedService {
  $async.Future<$0.AuthToken> createAuthToken($pb.ServerContext ctx, $0.CreateAuthTokenRequest request);
  $async.Future<$0.ListCamerasResponse> listCameras($pb.ServerContext ctx, $0.ListCamerasRequest request);
  $async.Future<$0.Session> createSession($pb.ServerContext ctx, $0.CreateSessionRequest request);
  $async.Future<$0.Session> popSession($pb.ServerContext ctx, $0.PopSessionRequest request);
  $async.Future<$0.IceMessage> createIceMessage($pb.ServerContext ctx, $0.CreateIceMessageRequest request);
  $async.Future<$0.IceMessage> popIceMessage($pb.ServerContext ctx, $0.PopIceMessageRequest request);

  $pb.GeneratedMessage createRequest($core.String methodName) {
    switch (methodName) {
      case 'CreateAuthToken': return $0.CreateAuthTokenRequest();
      case 'ListCameras': return $0.ListCamerasRequest();
      case 'CreateSession': return $0.CreateSessionRequest();
      case 'PopSession': return $0.PopSessionRequest();
      case 'CreateIceMessage': return $0.CreateIceMessageRequest();
      case 'PopIceMessage': return $0.PopIceMessageRequest();
      default: throw $core.ArgumentError('Unknown method: $methodName');
    }
  }

  $async.Future<$pb.GeneratedMessage> handleCall($pb.ServerContext ctx, $core.String methodName, $pb.GeneratedMessage request) {
    switch (methodName) {
      case 'CreateAuthToken': return this.createAuthToken(ctx, request as $0.CreateAuthTokenRequest);
      case 'ListCameras': return this.listCameras(ctx, request as $0.ListCamerasRequest);
      case 'CreateSession': return this.createSession(ctx, request as $0.CreateSessionRequest);
      case 'PopSession': return this.popSession(ctx, request as $0.PopSessionRequest);
      case 'CreateIceMessage': return this.createIceMessage(ctx, request as $0.CreateIceMessageRequest);
      case 'PopIceMessage': return this.popIceMessage(ctx, request as $0.PopIceMessageRequest);
      default: throw $core.ArgumentError('Unknown method: $methodName');
    }
  }

  $core.Map<$core.String, $core.dynamic> get $json => SignalerServiceBase$json;
  $core.Map<$core.String, $core.Map<$core.String, $core.dynamic>> get $messageJson => SignalerServiceBase$messageJson;
}

