//
//  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, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:core' as $core;

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

import 'signaler_service.pbenum.dart';

export 'signaler_service.pbenum.dart';

class CreateAuthTokenRequest_Camera extends $pb.GeneratedMessage {
  factory CreateAuthTokenRequest_Camera({
    $core.String? id,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    return $result;
  }
  CreateAuthTokenRequest_Camera._() : super();
  factory CreateAuthTokenRequest_Camera.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateAuthTokenRequest_Camera.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateAuthTokenRequest.Camera', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'id')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateAuthTokenRequest_Camera clone() => CreateAuthTokenRequest_Camera()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateAuthTokenRequest_Camera copyWith(void Function(CreateAuthTokenRequest_Camera) updates) => super.copyWith((message) => updates(message as CreateAuthTokenRequest_Camera)) as CreateAuthTokenRequest_Camera;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CreateAuthTokenRequest_Camera create() => CreateAuthTokenRequest_Camera._();
  CreateAuthTokenRequest_Camera createEmptyInstance() => create();
  static $pb.PbList<CreateAuthTokenRequest_Camera> createRepeated() => $pb.PbList<CreateAuthTokenRequest_Camera>();
  @$core.pragma('dart2js:noInline')
  static CreateAuthTokenRequest_Camera getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CreateAuthTokenRequest_Camera>(create);
  static CreateAuthTokenRequest_Camera? _defaultInstance;

  /// Used to uniquely identifier this camera so clients can open
  /// sessions with it.
  @$pb.TagNumber(1)
  $core.String get id => $_getSZ(0);
  @$pb.TagNumber(1)
  set id($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);
}

class CreateAuthTokenRequest_Client extends $pb.GeneratedMessage {
  factory CreateAuthTokenRequest_Client() => create();
  CreateAuthTokenRequest_Client._() : super();
  factory CreateAuthTokenRequest_Client.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateAuthTokenRequest_Client.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateAuthTokenRequest.Client', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateAuthTokenRequest_Client clone() => CreateAuthTokenRequest_Client()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateAuthTokenRequest_Client copyWith(void Function(CreateAuthTokenRequest_Client) updates) => super.copyWith((message) => updates(message as CreateAuthTokenRequest_Client)) as CreateAuthTokenRequest_Client;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CreateAuthTokenRequest_Client create() => CreateAuthTokenRequest_Client._();
  CreateAuthTokenRequest_Client createEmptyInstance() => create();
  static $pb.PbList<CreateAuthTokenRequest_Client> createRepeated() => $pb.PbList<CreateAuthTokenRequest_Client>();
  @$core.pragma('dart2js:noInline')
  static CreateAuthTokenRequest_Client getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CreateAuthTokenRequest_Client>(create);
  static CreateAuthTokenRequest_Client? _defaultInstance;
}

enum CreateAuthTokenRequest_Type {
  camera, 
  client, 
  notSet
}

class CreateAuthTokenRequest extends $pb.GeneratedMessage {
  factory CreateAuthTokenRequest({
    $core.String? home,
    CreateAuthTokenRequest_Camera? camera,
    CreateAuthTokenRequest_Client? client,
  }) {
    final $result = create();
    if (home != null) {
      $result.home = home;
    }
    if (camera != null) {
      $result.camera = camera;
    }
    if (client != null) {
      $result.client = client;
    }
    return $result;
  }
  CreateAuthTokenRequest._() : super();
  factory CreateAuthTokenRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateAuthTokenRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, CreateAuthTokenRequest_Type> _CreateAuthTokenRequest_TypeByTag = {
    2 : CreateAuthTokenRequest_Type.camera,
    3 : CreateAuthTokenRequest_Type.client,
    0 : CreateAuthTokenRequest_Type.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateAuthTokenRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..oo(0, [2, 3])
    ..aOS(1, _omitFieldNames ? '' : 'home')
    ..aOM<CreateAuthTokenRequest_Camera>(2, _omitFieldNames ? '' : 'camera', subBuilder: CreateAuthTokenRequest_Camera.create)
    ..aOM<CreateAuthTokenRequest_Client>(3, _omitFieldNames ? '' : 'client', subBuilder: CreateAuthTokenRequest_Client.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateAuthTokenRequest clone() => CreateAuthTokenRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateAuthTokenRequest copyWith(void Function(CreateAuthTokenRequest) updates) => super.copyWith((message) => updates(message as CreateAuthTokenRequest)) as CreateAuthTokenRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CreateAuthTokenRequest create() => CreateAuthTokenRequest._();
  CreateAuthTokenRequest createEmptyInstance() => create();
  static $pb.PbList<CreateAuthTokenRequest> createRepeated() => $pb.PbList<CreateAuthTokenRequest>();
  @$core.pragma('dart2js:noInline')
  static CreateAuthTokenRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CreateAuthTokenRequest>(create);
  static CreateAuthTokenRequest? _defaultInstance;

  CreateAuthTokenRequest_Type whichType() => _CreateAuthTokenRequest_TypeByTag[$_whichOneof(0)]!;
  void clearType() => clearField($_whichOneof(0));

  /// Homes this auth token should be registered too.
  @$pb.TagNumber(1)
  $core.String get home => $_getSZ(0);
  @$pb.TagNumber(1)
  set home($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasHome() => $_has(0);
  @$pb.TagNumber(1)
  void clearHome() => clearField(1);

  @$pb.TagNumber(2)
  CreateAuthTokenRequest_Camera get camera => $_getN(1);
  @$pb.TagNumber(2)
  set camera(CreateAuthTokenRequest_Camera v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasCamera() => $_has(1);
  @$pb.TagNumber(2)
  void clearCamera() => clearField(2);
  @$pb.TagNumber(2)
  CreateAuthTokenRequest_Camera ensureCamera() => $_ensure(1);

  @$pb.TagNumber(3)
  CreateAuthTokenRequest_Client get client => $_getN(2);
  @$pb.TagNumber(3)
  set client(CreateAuthTokenRequest_Client v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasClient() => $_has(2);
  @$pb.TagNumber(3)
  void clearClient() => clearField(3);
  @$pb.TagNumber(3)
  CreateAuthTokenRequest_Client ensureClient() => $_ensure(2);
}

class ListCamerasRequest extends $pb.GeneratedMessage {
  factory ListCamerasRequest() => create();
  ListCamerasRequest._() : super();
  factory ListCamerasRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListCamerasRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListCamerasRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListCamerasRequest clone() => ListCamerasRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListCamerasRequest copyWith(void Function(ListCamerasRequest) updates) => super.copyWith((message) => updates(message as ListCamerasRequest)) as ListCamerasRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListCamerasRequest create() => ListCamerasRequest._();
  ListCamerasRequest createEmptyInstance() => create();
  static $pb.PbList<ListCamerasRequest> createRepeated() => $pb.PbList<ListCamerasRequest>();
  @$core.pragma('dart2js:noInline')
  static ListCamerasRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListCamerasRequest>(create);
  static ListCamerasRequest? _defaultInstance;
}

class ListCamerasResponse extends $pb.GeneratedMessage {
  factory ListCamerasResponse({
    $core.Iterable<Camera>? cameras,
  }) {
    final $result = create();
    if (cameras != null) {
      $result.cameras.addAll(cameras);
    }
    return $result;
  }
  ListCamerasResponse._() : super();
  factory ListCamerasResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListCamerasResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListCamerasResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..pc<Camera>(1, _omitFieldNames ? '' : 'cameras', $pb.PbFieldType.PM, subBuilder: Camera.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListCamerasResponse clone() => ListCamerasResponse()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListCamerasResponse copyWith(void Function(ListCamerasResponse) updates) => super.copyWith((message) => updates(message as ListCamerasResponse)) as ListCamerasResponse;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListCamerasResponse create() => ListCamerasResponse._();
  ListCamerasResponse createEmptyInstance() => create();
  static $pb.PbList<ListCamerasResponse> createRepeated() => $pb.PbList<ListCamerasResponse>();
  @$core.pragma('dart2js:noInline')
  static ListCamerasResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListCamerasResponse>(create);
  static ListCamerasResponse? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<Camera> get cameras => $_getList(0);
}

class CreateSessionRequest extends $pb.GeneratedMessage {
  factory CreateSessionRequest({
    Session? session,
    $core.bool? waitForUpdate,
  }) {
    final $result = create();
    if (session != null) {
      $result.session = session;
    }
    if (waitForUpdate != null) {
      $result.waitForUpdate = waitForUpdate;
    }
    return $result;
  }
  CreateSessionRequest._() : super();
  factory CreateSessionRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateSessionRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateSessionRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Session>(1, _omitFieldNames ? '' : 'session', subBuilder: Session.create)
    ..aOB(2, _omitFieldNames ? '' : 'waitForUpdate')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateSessionRequest clone() => CreateSessionRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateSessionRequest copyWith(void Function(CreateSessionRequest) updates) => super.copyWith((message) => updates(message as CreateSessionRequest)) as CreateSessionRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CreateSessionRequest create() => CreateSessionRequest._();
  CreateSessionRequest createEmptyInstance() => create();
  static $pb.PbList<CreateSessionRequest> createRepeated() => $pb.PbList<CreateSessionRequest>();
  @$core.pragma('dart2js:noInline')
  static CreateSessionRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CreateSessionRequest>(create);
  static CreateSessionRequest? _defaultInstance;

  @$pb.TagNumber(1)
  Session get session => $_getN(0);
  @$pb.TagNumber(1)
  set session(Session v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasSession() => $_has(0);
  @$pb.TagNumber(1)
  void clearSession() => clearField(1);
  @$pb.TagNumber(1)
  Session ensureSession() => $_ensure(0);

  /// If true, will keep the connection alive until an update is received.
  /// This is useful if we need to wait for a remote to detect the session
  /// request and update it with their candidates, offer, or answer.
  @$pb.TagNumber(2)
  $core.bool get waitForUpdate => $_getBF(1);
  @$pb.TagNumber(2)
  set waitForUpdate($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasWaitForUpdate() => $_has(1);
  @$pb.TagNumber(2)
  void clearWaitForUpdate() => clearField(2);
}

class PopSessionRequest extends $pb.GeneratedMessage {
  factory PopSessionRequest({
    Session? session,
  }) {
    final $result = create();
    if (session != null) {
      $result.session = session;
    }
    return $result;
  }
  PopSessionRequest._() : super();
  factory PopSessionRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PopSessionRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PopSessionRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Session>(1, _omitFieldNames ? '' : 'session', subBuilder: Session.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PopSessionRequest clone() => PopSessionRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PopSessionRequest copyWith(void Function(PopSessionRequest) updates) => super.copyWith((message) => updates(message as PopSessionRequest)) as PopSessionRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static PopSessionRequest create() => PopSessionRequest._();
  PopSessionRequest createEmptyInstance() => create();
  static $pb.PbList<PopSessionRequest> createRepeated() => $pb.PbList<PopSessionRequest>();
  @$core.pragma('dart2js:noInline')
  static PopSessionRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PopSessionRequest>(create);
  static PopSessionRequest? _defaultInstance;

  @$pb.TagNumber(1)
  Session get session => $_getN(0);
  @$pb.TagNumber(1)
  set session(Session v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasSession() => $_has(0);
  @$pb.TagNumber(1)
  void clearSession() => clearField(1);
  @$pb.TagNumber(1)
  Session ensureSession() => $_ensure(0);
}

class UpdateSessionRequest extends $pb.GeneratedMessage {
  factory UpdateSessionRequest({
    Session? session,
    $core.bool? waitForUpdate,
  }) {
    final $result = create();
    if (session != null) {
      $result.session = session;
    }
    if (waitForUpdate != null) {
      $result.waitForUpdate = waitForUpdate;
    }
    return $result;
  }
  UpdateSessionRequest._() : super();
  factory UpdateSessionRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory UpdateSessionRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'UpdateSessionRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Session>(1, _omitFieldNames ? '' : 'session', subBuilder: Session.create)
    ..aOB(2, _omitFieldNames ? '' : 'waitForUpdate')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  UpdateSessionRequest clone() => UpdateSessionRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  UpdateSessionRequest copyWith(void Function(UpdateSessionRequest) updates) => super.copyWith((message) => updates(message as UpdateSessionRequest)) as UpdateSessionRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static UpdateSessionRequest create() => UpdateSessionRequest._();
  UpdateSessionRequest createEmptyInstance() => create();
  static $pb.PbList<UpdateSessionRequest> createRepeated() => $pb.PbList<UpdateSessionRequest>();
  @$core.pragma('dart2js:noInline')
  static UpdateSessionRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<UpdateSessionRequest>(create);
  static UpdateSessionRequest? _defaultInstance;

  @$pb.TagNumber(1)
  Session get session => $_getN(0);
  @$pb.TagNumber(1)
  set session(Session v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasSession() => $_has(0);
  @$pb.TagNumber(1)
  void clearSession() => clearField(1);
  @$pb.TagNumber(1)
  Session ensureSession() => $_ensure(0);

  /// If true, will keep the connection alive until an update is received.
  /// This is useful if we need to wait for a remote to detect the session
  /// request and update it with their candidates, offer, or answer.
  @$pb.TagNumber(2)
  $core.bool get waitForUpdate => $_getBF(1);
  @$pb.TagNumber(2)
  set waitForUpdate($core.bool v) { $_setBool(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasWaitForUpdate() => $_has(1);
  @$pb.TagNumber(2)
  void clearWaitForUpdate() => clearField(2);
}

class ListSessionsRequest extends $pb.GeneratedMessage {
  factory ListSessionsRequest() => create();
  ListSessionsRequest._() : super();
  factory ListSessionsRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListSessionsRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListSessionsRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListSessionsRequest clone() => ListSessionsRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListSessionsRequest copyWith(void Function(ListSessionsRequest) updates) => super.copyWith((message) => updates(message as ListSessionsRequest)) as ListSessionsRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListSessionsRequest create() => ListSessionsRequest._();
  ListSessionsRequest createEmptyInstance() => create();
  static $pb.PbList<ListSessionsRequest> createRepeated() => $pb.PbList<ListSessionsRequest>();
  @$core.pragma('dart2js:noInline')
  static ListSessionsRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListSessionsRequest>(create);
  static ListSessionsRequest? _defaultInstance;
}

class ListSessionsResponse extends $pb.GeneratedMessage {
  factory ListSessionsResponse({
    $core.Iterable<Session>? sessions,
  }) {
    final $result = create();
    if (sessions != null) {
      $result.sessions.addAll(sessions);
    }
    return $result;
  }
  ListSessionsResponse._() : super();
  factory ListSessionsResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListSessionsResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListSessionsResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..pc<Session>(1, _omitFieldNames ? '' : 'sessions', $pb.PbFieldType.PM, subBuilder: Session.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListSessionsResponse clone() => ListSessionsResponse()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListSessionsResponse copyWith(void Function(ListSessionsResponse) updates) => super.copyWith((message) => updates(message as ListSessionsResponse)) as ListSessionsResponse;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListSessionsResponse create() => ListSessionsResponse._();
  ListSessionsResponse createEmptyInstance() => create();
  static $pb.PbList<ListSessionsResponse> createRepeated() => $pb.PbList<ListSessionsResponse>();
  @$core.pragma('dart2js:noInline')
  static ListSessionsResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListSessionsResponse>(create);
  static ListSessionsResponse? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<Session> get sessions => $_getList(0);
}

class CreateIceMessageRequest extends $pb.GeneratedMessage {
  factory CreateIceMessageRequest({
    Session_Identifier? sessionIdentifier,
    IceMessage? iceMessage,
  }) {
    final $result = create();
    if (sessionIdentifier != null) {
      $result.sessionIdentifier = sessionIdentifier;
    }
    if (iceMessage != null) {
      $result.iceMessage = iceMessage;
    }
    return $result;
  }
  CreateIceMessageRequest._() : super();
  factory CreateIceMessageRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateIceMessageRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateIceMessageRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Session_Identifier>(1, _omitFieldNames ? '' : 'sessionIdentifier', subBuilder: Session_Identifier.create)
    ..aOM<IceMessage>(2, _omitFieldNames ? '' : 'iceMessage', subBuilder: IceMessage.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateIceMessageRequest clone() => CreateIceMessageRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateIceMessageRequest copyWith(void Function(CreateIceMessageRequest) updates) => super.copyWith((message) => updates(message as CreateIceMessageRequest)) as CreateIceMessageRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CreateIceMessageRequest create() => CreateIceMessageRequest._();
  CreateIceMessageRequest createEmptyInstance() => create();
  static $pb.PbList<CreateIceMessageRequest> createRepeated() => $pb.PbList<CreateIceMessageRequest>();
  @$core.pragma('dart2js:noInline')
  static CreateIceMessageRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CreateIceMessageRequest>(create);
  static CreateIceMessageRequest? _defaultInstance;

  @$pb.TagNumber(1)
  Session_Identifier get sessionIdentifier => $_getN(0);
  @$pb.TagNumber(1)
  set sessionIdentifier(Session_Identifier v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasSessionIdentifier() => $_has(0);
  @$pb.TagNumber(1)
  void clearSessionIdentifier() => clearField(1);
  @$pb.TagNumber(1)
  Session_Identifier ensureSessionIdentifier() => $_ensure(0);

  @$pb.TagNumber(2)
  IceMessage get iceMessage => $_getN(1);
  @$pb.TagNumber(2)
  set iceMessage(IceMessage v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasIceMessage() => $_has(1);
  @$pb.TagNumber(2)
  void clearIceMessage() => clearField(2);
  @$pb.TagNumber(2)
  IceMessage ensureIceMessage() => $_ensure(1);
}

class PopIceMessageRequest extends $pb.GeneratedMessage {
  factory PopIceMessageRequest({
    Session_Identifier? sessionIdentifier,
  }) {
    final $result = create();
    if (sessionIdentifier != null) {
      $result.sessionIdentifier = sessionIdentifier;
    }
    return $result;
  }
  PopIceMessageRequest._() : super();
  factory PopIceMessageRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory PopIceMessageRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PopIceMessageRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Session_Identifier>(1, _omitFieldNames ? '' : 'sessionIdentifier', subBuilder: Session_Identifier.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  PopIceMessageRequest clone() => PopIceMessageRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  PopIceMessageRequest copyWith(void Function(PopIceMessageRequest) updates) => super.copyWith((message) => updates(message as PopIceMessageRequest)) as PopIceMessageRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static PopIceMessageRequest create() => PopIceMessageRequest._();
  PopIceMessageRequest createEmptyInstance() => create();
  static $pb.PbList<PopIceMessageRequest> createRepeated() => $pb.PbList<PopIceMessageRequest>();
  @$core.pragma('dart2js:noInline')
  static PopIceMessageRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<PopIceMessageRequest>(create);
  static PopIceMessageRequest? _defaultInstance;

  @$pb.TagNumber(1)
  Session_Identifier get sessionIdentifier => $_getN(0);
  @$pb.TagNumber(1)
  set sessionIdentifier(Session_Identifier v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasSessionIdentifier() => $_has(0);
  @$pb.TagNumber(1)
  void clearSessionIdentifier() => clearField(1);
  @$pb.TagNumber(1)
  Session_Identifier ensureSessionIdentifier() => $_ensure(0);
}

class CreateSampleRequest extends $pb.GeneratedMessage {
  factory CreateSampleRequest({
    Sample? sample,
  }) {
    final $result = create();
    if (sample != null) {
      $result.sample = sample;
    }
    return $result;
  }
  CreateSampleRequest._() : super();
  factory CreateSampleRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory CreateSampleRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CreateSampleRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Sample>(1, _omitFieldNames ? '' : 'sample', subBuilder: Sample.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  CreateSampleRequest clone() => CreateSampleRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  CreateSampleRequest copyWith(void Function(CreateSampleRequest) updates) => super.copyWith((message) => updates(message as CreateSampleRequest)) as CreateSampleRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static CreateSampleRequest create() => CreateSampleRequest._();
  CreateSampleRequest createEmptyInstance() => create();
  static $pb.PbList<CreateSampleRequest> createRepeated() => $pb.PbList<CreateSampleRequest>();
  @$core.pragma('dart2js:noInline')
  static CreateSampleRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<CreateSampleRequest>(create);
  static CreateSampleRequest? _defaultInstance;

  @$pb.TagNumber(1)
  Sample get sample => $_getN(0);
  @$pb.TagNumber(1)
  set sample(Sample v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasSample() => $_has(0);
  @$pb.TagNumber(1)
  void clearSample() => clearField(1);
  @$pb.TagNumber(1)
  Sample ensureSample() => $_ensure(0);
}

class ListSamplesRequest extends $pb.GeneratedMessage {
  factory ListSamplesRequest() => create();
  ListSamplesRequest._() : super();
  factory ListSamplesRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListSamplesRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListSamplesRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListSamplesRequest clone() => ListSamplesRequest()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListSamplesRequest copyWith(void Function(ListSamplesRequest) updates) => super.copyWith((message) => updates(message as ListSamplesRequest)) as ListSamplesRequest;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListSamplesRequest create() => ListSamplesRequest._();
  ListSamplesRequest createEmptyInstance() => create();
  static $pb.PbList<ListSamplesRequest> createRepeated() => $pb.PbList<ListSamplesRequest>();
  @$core.pragma('dart2js:noInline')
  static ListSamplesRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListSamplesRequest>(create);
  static ListSamplesRequest? _defaultInstance;
}

class ListSamplesResponse extends $pb.GeneratedMessage {
  factory ListSamplesResponse({
    $core.Iterable<Sample>? samples,
  }) {
    final $result = create();
    if (samples != null) {
      $result.samples.addAll(samples);
    }
    return $result;
  }
  ListSamplesResponse._() : super();
  factory ListSamplesResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory ListSamplesResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ListSamplesResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..pc<Sample>(1, _omitFieldNames ? '' : 'samples', $pb.PbFieldType.PM, subBuilder: Sample.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  ListSamplesResponse clone() => ListSamplesResponse()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  ListSamplesResponse copyWith(void Function(ListSamplesResponse) updates) => super.copyWith((message) => updates(message as ListSamplesResponse)) as ListSamplesResponse;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static ListSamplesResponse create() => ListSamplesResponse._();
  ListSamplesResponse createEmptyInstance() => create();
  static $pb.PbList<ListSamplesResponse> createRepeated() => $pb.PbList<ListSamplesResponse>();
  @$core.pragma('dart2js:noInline')
  static ListSamplesResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<ListSamplesResponse>(create);
  static ListSamplesResponse? _defaultInstance;

  @$pb.TagNumber(1)
  $core.List<Sample> get samples => $_getList(0);
}

class Camera_Identifier extends $pb.GeneratedMessage {
  factory Camera_Identifier({
    $core.String? id,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    return $result;
  }
  Camera_Identifier._() : super();
  factory Camera_Identifier.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Camera_Identifier.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Camera.Identifier', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'id')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Camera_Identifier clone() => Camera_Identifier()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Camera_Identifier copyWith(void Function(Camera_Identifier) updates) => super.copyWith((message) => updates(message as Camera_Identifier)) as Camera_Identifier;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Camera_Identifier create() => Camera_Identifier._();
  Camera_Identifier createEmptyInstance() => create();
  static $pb.PbList<Camera_Identifier> createRepeated() => $pb.PbList<Camera_Identifier>();
  @$core.pragma('dart2js:noInline')
  static Camera_Identifier getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Camera_Identifier>(create);
  static Camera_Identifier? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get id => $_getSZ(0);
  @$pb.TagNumber(1)
  set id($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);
}

class Camera extends $pb.GeneratedMessage {
  factory Camera({
    Camera_Identifier? identifier,
  }) {
    final $result = create();
    if (identifier != null) {
      $result.identifier = identifier;
    }
    return $result;
  }
  Camera._() : super();
  factory Camera.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Camera.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Camera', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Camera_Identifier>(1, _omitFieldNames ? '' : 'identifier', subBuilder: Camera_Identifier.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Camera clone() => Camera()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Camera copyWith(void Function(Camera) updates) => super.copyWith((message) => updates(message as Camera)) as Camera;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Camera create() => Camera._();
  Camera createEmptyInstance() => create();
  static $pb.PbList<Camera> createRepeated() => $pb.PbList<Camera>();
  @$core.pragma('dart2js:noInline')
  static Camera getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Camera>(create);
  static Camera? _defaultInstance;

  @$pb.TagNumber(1)
  Camera_Identifier get identifier => $_getN(0);
  @$pb.TagNumber(1)
  set identifier(Camera_Identifier v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasIdentifier() => $_has(0);
  @$pb.TagNumber(1)
  void clearIdentifier() => clearField(1);
  @$pb.TagNumber(1)
  Camera_Identifier ensureIdentifier() => $_ensure(0);
}

enum IceMessage_Type {
  candidate, 
  session, 
  noMoreCandidates, 
  notSet
}

class IceMessage extends $pb.GeneratedMessage {
  factory IceMessage({
    IceCandidate? candidate,
    IceSessionDescription? session,
    NoMoreCandidates? noMoreCandidates,
  }) {
    final $result = create();
    if (candidate != null) {
      $result.candidate = candidate;
    }
    if (session != null) {
      $result.session = session;
    }
    if (noMoreCandidates != null) {
      $result.noMoreCandidates = noMoreCandidates;
    }
    return $result;
  }
  IceMessage._() : super();
  factory IceMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory IceMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static const $core.Map<$core.int, IceMessage_Type> _IceMessage_TypeByTag = {
    1 : IceMessage_Type.candidate,
    2 : IceMessage_Type.session,
    3 : IceMessage_Type.noMoreCandidates,
    0 : IceMessage_Type.notSet
  };
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'IceMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..oo(0, [1, 2, 3])
    ..aOM<IceCandidate>(1, _omitFieldNames ? '' : 'candidate', subBuilder: IceCandidate.create)
    ..aOM<IceSessionDescription>(2, _omitFieldNames ? '' : 'session', subBuilder: IceSessionDescription.create)
    ..aOM<NoMoreCandidates>(3, _omitFieldNames ? '' : 'noMoreCandidates', subBuilder: NoMoreCandidates.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  IceMessage clone() => IceMessage()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  IceMessage copyWith(void Function(IceMessage) updates) => super.copyWith((message) => updates(message as IceMessage)) as IceMessage;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static IceMessage create() => IceMessage._();
  IceMessage createEmptyInstance() => create();
  static $pb.PbList<IceMessage> createRepeated() => $pb.PbList<IceMessage>();
  @$core.pragma('dart2js:noInline')
  static IceMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<IceMessage>(create);
  static IceMessage? _defaultInstance;

  IceMessage_Type whichType() => _IceMessage_TypeByTag[$_whichOneof(0)]!;
  void clearType() => clearField($_whichOneof(0));

  @$pb.TagNumber(1)
  IceCandidate get candidate => $_getN(0);
  @$pb.TagNumber(1)
  set candidate(IceCandidate v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasCandidate() => $_has(0);
  @$pb.TagNumber(1)
  void clearCandidate() => clearField(1);
  @$pb.TagNumber(1)
  IceCandidate ensureCandidate() => $_ensure(0);

  @$pb.TagNumber(2)
  IceSessionDescription get session => $_getN(1);
  @$pb.TagNumber(2)
  set session(IceSessionDescription v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasSession() => $_has(1);
  @$pb.TagNumber(2)
  void clearSession() => clearField(2);
  @$pb.TagNumber(2)
  IceSessionDescription ensureSession() => $_ensure(1);

  @$pb.TagNumber(3)
  NoMoreCandidates get noMoreCandidates => $_getN(2);
  @$pb.TagNumber(3)
  set noMoreCandidates(NoMoreCandidates v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasNoMoreCandidates() => $_has(2);
  @$pb.TagNumber(3)
  void clearNoMoreCandidates() => clearField(3);
  @$pb.TagNumber(3)
  NoMoreCandidates ensureNoMoreCandidates() => $_ensure(2);
}

class NoMoreCandidates extends $pb.GeneratedMessage {
  factory NoMoreCandidates() => create();
  NoMoreCandidates._() : super();
  factory NoMoreCandidates.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory NoMoreCandidates.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'NoMoreCandidates', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  NoMoreCandidates clone() => NoMoreCandidates()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  NoMoreCandidates copyWith(void Function(NoMoreCandidates) updates) => super.copyWith((message) => updates(message as NoMoreCandidates)) as NoMoreCandidates;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static NoMoreCandidates create() => NoMoreCandidates._();
  NoMoreCandidates createEmptyInstance() => create();
  static $pb.PbList<NoMoreCandidates> createRepeated() => $pb.PbList<NoMoreCandidates>();
  @$core.pragma('dart2js:noInline')
  static NoMoreCandidates getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<NoMoreCandidates>(create);
  static NoMoreCandidates? _defaultInstance;
}

class IceCandidate extends $pb.GeneratedMessage {
  factory IceCandidate({
    $core.String? candidate,
    $core.String? sdpMid,
    $core.int? sdpLineIndex,
    $core.String? usernameFragment,
  }) {
    final $result = create();
    if (candidate != null) {
      $result.candidate = candidate;
    }
    if (sdpMid != null) {
      $result.sdpMid = sdpMid;
    }
    if (sdpLineIndex != null) {
      $result.sdpLineIndex = sdpLineIndex;
    }
    if (usernameFragment != null) {
      $result.usernameFragment = usernameFragment;
    }
    return $result;
  }
  IceCandidate._() : super();
  factory IceCandidate.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory IceCandidate.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'IceCandidate', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'candidate')
    ..aOS(2, _omitFieldNames ? '' : 'sdpMid')
    ..a<$core.int>(3, _omitFieldNames ? '' : 'sdpLineIndex', $pb.PbFieldType.O3)
    ..aOS(4, _omitFieldNames ? '' : 'usernameFragment')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  IceCandidate clone() => IceCandidate()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  IceCandidate copyWith(void Function(IceCandidate) updates) => super.copyWith((message) => updates(message as IceCandidate)) as IceCandidate;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static IceCandidate create() => IceCandidate._();
  IceCandidate createEmptyInstance() => create();
  static $pb.PbList<IceCandidate> createRepeated() => $pb.PbList<IceCandidate>();
  @$core.pragma('dart2js:noInline')
  static IceCandidate getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<IceCandidate>(create);
  static IceCandidate? _defaultInstance;

  /// Copied from https://pkg.go.dev/github.com/pion/webrtc/v4#ICECandidateInit
  @$pb.TagNumber(1)
  $core.String get candidate => $_getSZ(0);
  @$pb.TagNumber(1)
  set candidate($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasCandidate() => $_has(0);
  @$pb.TagNumber(1)
  void clearCandidate() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get sdpMid => $_getSZ(1);
  @$pb.TagNumber(2)
  set sdpMid($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasSdpMid() => $_has(1);
  @$pb.TagNumber(2)
  void clearSdpMid() => clearField(2);

  @$pb.TagNumber(3)
  $core.int get sdpLineIndex => $_getIZ(2);
  @$pb.TagNumber(3)
  set sdpLineIndex($core.int v) { $_setSignedInt32(2, v); }
  @$pb.TagNumber(3)
  $core.bool hasSdpLineIndex() => $_has(2);
  @$pb.TagNumber(3)
  void clearSdpLineIndex() => clearField(3);

  @$pb.TagNumber(4)
  $core.String get usernameFragment => $_getSZ(3);
  @$pb.TagNumber(4)
  set usernameFragment($core.String v) { $_setString(3, v); }
  @$pb.TagNumber(4)
  $core.bool hasUsernameFragment() => $_has(3);
  @$pb.TagNumber(4)
  void clearUsernameFragment() => clearField(4);
}

class IceSessionDescription extends $pb.GeneratedMessage {
  factory IceSessionDescription({
    $fixnum.Int64? sdpType,
    $core.String? sdp,
  }) {
    final $result = create();
    if (sdpType != null) {
      $result.sdpType = sdpType;
    }
    if (sdp != null) {
      $result.sdp = sdp;
    }
    return $result;
  }
  IceSessionDescription._() : super();
  factory IceSessionDescription.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory IceSessionDescription.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'IceSessionDescription', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aInt64(1, _omitFieldNames ? '' : 'sdpType')
    ..aOS(2, _omitFieldNames ? '' : 'sdp')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  IceSessionDescription clone() => IceSessionDescription()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  IceSessionDescription copyWith(void Function(IceSessionDescription) updates) => super.copyWith((message) => updates(message as IceSessionDescription)) as IceSessionDescription;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static IceSessionDescription create() => IceSessionDescription._();
  IceSessionDescription createEmptyInstance() => create();
  static $pb.PbList<IceSessionDescription> createRepeated() => $pb.PbList<IceSessionDescription>();
  @$core.pragma('dart2js:noInline')
  static IceSessionDescription getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<IceSessionDescription>(create);
  static IceSessionDescription? _defaultInstance;

  /// Copied from https://pkg.go.dev/github.com/pion/webrtc/v4#SessionDescription
  @$pb.TagNumber(1)
  $fixnum.Int64 get sdpType => $_getI64(0);
  @$pb.TagNumber(1)
  set sdpType($fixnum.Int64 v) { $_setInt64(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasSdpType() => $_has(0);
  @$pb.TagNumber(1)
  void clearSdpType() => clearField(1);

  @$pb.TagNumber(2)
  $core.String get sdp => $_getSZ(1);
  @$pb.TagNumber(2)
  set sdp($core.String v) { $_setString(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasSdp() => $_has(1);
  @$pb.TagNumber(2)
  void clearSdp() => clearField(2);
}

class Session_Identifier extends $pb.GeneratedMessage {
  factory Session_Identifier({
    $core.String? id,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    return $result;
  }
  Session_Identifier._() : super();
  factory Session_Identifier.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Session_Identifier.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Session.Identifier', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'id')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Session_Identifier clone() => Session_Identifier()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Session_Identifier copyWith(void Function(Session_Identifier) updates) => super.copyWith((message) => updates(message as Session_Identifier)) as Session_Identifier;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Session_Identifier create() => Session_Identifier._();
  Session_Identifier createEmptyInstance() => create();
  static $pb.PbList<Session_Identifier> createRepeated() => $pb.PbList<Session_Identifier>();
  @$core.pragma('dart2js:noInline')
  static Session_Identifier getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Session_Identifier>(create);
  static Session_Identifier? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get id => $_getSZ(0);
  @$pb.TagNumber(1)
  set id($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);
}

class Session extends $pb.GeneratedMessage {
  factory Session({
    Session_Identifier? id,
    Camera_Identifier? camera,
  }) {
    final $result = create();
    if (id != null) {
      $result.id = id;
    }
    if (camera != null) {
      $result.camera = camera;
    }
    return $result;
  }
  Session._() : super();
  factory Session.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Session.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Session', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOM<Session_Identifier>(1, _omitFieldNames ? '' : 'id', subBuilder: Session_Identifier.create)
    ..aOM<Camera_Identifier>(2, _omitFieldNames ? '' : 'camera', subBuilder: Camera_Identifier.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Session clone() => Session()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Session copyWith(void Function(Session) updates) => super.copyWith((message) => updates(message as Session)) as Session;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Session create() => Session._();
  Session createEmptyInstance() => create();
  static $pb.PbList<Session> createRepeated() => $pb.PbList<Session>();
  @$core.pragma('dart2js:noInline')
  static Session getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Session>(create);
  static Session? _defaultInstance;

  @$pb.TagNumber(1)
  Session_Identifier get id => $_getN(0);
  @$pb.TagNumber(1)
  set id(Session_Identifier v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasId() => $_has(0);
  @$pb.TagNumber(1)
  void clearId() => clearField(1);
  @$pb.TagNumber(1)
  Session_Identifier ensureId() => $_ensure(0);

  @$pb.TagNumber(2)
  Camera_Identifier get camera => $_getN(1);
  @$pb.TagNumber(2)
  set camera(Camera_Identifier v) { setField(2, v); }
  @$pb.TagNumber(2)
  $core.bool hasCamera() => $_has(1);
  @$pb.TagNumber(2)
  void clearCamera() => clearField(2);
  @$pb.TagNumber(2)
  Camera_Identifier ensureCamera() => $_ensure(1);
}

class AuthToken extends $pb.GeneratedMessage {
  factory AuthToken({
    $core.String? token,
  }) {
    final $result = create();
    if (token != null) {
      $result.token = token;
    }
    return $result;
  }
  AuthToken._() : super();
  factory AuthToken.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory AuthToken.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'AuthToken', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..aOS(1, _omitFieldNames ? '' : 'token')
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  AuthToken clone() => AuthToken()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  AuthToken copyWith(void Function(AuthToken) updates) => super.copyWith((message) => updates(message as AuthToken)) as AuthToken;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static AuthToken create() => AuthToken._();
  AuthToken createEmptyInstance() => create();
  static $pb.PbList<AuthToken> createRepeated() => $pb.PbList<AuthToken>();
  @$core.pragma('dart2js:noInline')
  static AuthToken getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<AuthToken>(create);
  static AuthToken? _defaultInstance;

  @$pb.TagNumber(1)
  $core.String get token => $_getSZ(0);
  @$pb.TagNumber(1)
  set token($core.String v) { $_setString(0, v); }
  @$pb.TagNumber(1)
  $core.bool hasToken() => $_has(0);
  @$pb.TagNumber(1)
  void clearToken() => clearField(1);
}

class Sample extends $pb.GeneratedMessage {
  factory Sample({
    Sample_Type? type,
    $core.double? reading,
    Camera_Identifier? cameraId,
  }) {
    final $result = create();
    if (type != null) {
      $result.type = type;
    }
    if (reading != null) {
      $result.reading = reading;
    }
    if (cameraId != null) {
      $result.cameraId = cameraId;
    }
    return $result;
  }
  Sample._() : super();
  factory Sample.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
  factory Sample.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);

  static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Sample', package: const $pb.PackageName(_omitMessageNames ? '' : 'signaler'), createEmptyInstance: create)
    ..e<Sample_Type>(1, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, defaultOrMaker: Sample_Type.UNSPECIFIED, valueOf: Sample_Type.valueOf, enumValues: Sample_Type.values)
    ..a<$core.double>(2, _omitFieldNames ? '' : 'reading', $pb.PbFieldType.OD)
    ..aOM<Camera_Identifier>(3, _omitFieldNames ? '' : 'cameraId', subBuilder: Camera_Identifier.create)
    ..hasRequiredFields = false
  ;

  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
  'Will be removed in next major version')
  Sample clone() => Sample()..mergeFromMessage(this);
  @$core.Deprecated(
  'Using this can add significant overhead to your binary. '
  'Use [GeneratedMessageGenericExtensions.rebuild] instead. '
  'Will be removed in next major version')
  Sample copyWith(void Function(Sample) updates) => super.copyWith((message) => updates(message as Sample)) as Sample;

  $pb.BuilderInfo get info_ => _i;

  @$core.pragma('dart2js:noInline')
  static Sample create() => Sample._();
  Sample createEmptyInstance() => create();
  static $pb.PbList<Sample> createRepeated() => $pb.PbList<Sample>();
  @$core.pragma('dart2js:noInline')
  static Sample getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor<Sample>(create);
  static Sample? _defaultInstance;

  @$pb.TagNumber(1)
  Sample_Type get type => $_getN(0);
  @$pb.TagNumber(1)
  set type(Sample_Type v) { setField(1, v); }
  @$pb.TagNumber(1)
  $core.bool hasType() => $_has(0);
  @$pb.TagNumber(1)
  void clearType() => clearField(1);

  @$pb.TagNumber(2)
  $core.double get reading => $_getN(1);
  @$pb.TagNumber(2)
  set reading($core.double v) { $_setDouble(1, v); }
  @$pb.TagNumber(2)
  $core.bool hasReading() => $_has(1);
  @$pb.TagNumber(2)
  void clearReading() => clearField(2);

  @$pb.TagNumber(3)
  Camera_Identifier get cameraId => $_getN(2);
  @$pb.TagNumber(3)
  set cameraId(Camera_Identifier v) { setField(3, v); }
  @$pb.TagNumber(3)
  $core.bool hasCameraId() => $_has(2);
  @$pb.TagNumber(3)
  void clearCameraId() => clearField(3);
  @$pb.TagNumber(3)
  Camera_Identifier ensureCameraId() => $_ensure(2);
}


const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names');
const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names');
