// Generated by the protocol buffer compiler.  DO NOT EDIT!

#import "OWSWebRTCDataProtos.pb.h"
// @@protoc_insertion_point(imports)

@implementation OWSWebRTCProtosOwswebRtcdataProtosRoot
static PBExtensionRegistry* extensionRegistry = nil;
+ (PBExtensionRegistry*) extensionRegistry {
  return extensionRegistry;
}

+ (void) initialize {
  if (self == [OWSWebRTCProtosOwswebRtcdataProtosRoot class]) {
    PBMutableExtensionRegistry* registry = [PBMutableExtensionRegistry registry];
    [self registerAllExtensions:registry];
    [ObjectivecDescriptorRoot registerAllExtensions:registry];
    extensionRegistry = registry;
  }
}
+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry {
}
@end

@interface OWSWebRTCProtosConnected ()
@property UInt64 id;
@end

@implementation OWSWebRTCProtosConnected

- (BOOL) hasId {
  return !!hasId_;
}
- (void) setHasId:(BOOL) _value_ {
  hasId_ = !!_value_;
}
@synthesize id;
- (instancetype) init {
  if ((self = [super init])) {
    self.id = 0L;
  }
  return self;
}
static OWSWebRTCProtosConnected* defaultOWSWebRTCProtosConnectedInstance = nil;
+ (void) initialize {
  if (self == [OWSWebRTCProtosConnected class]) {
    defaultOWSWebRTCProtosConnectedInstance = [[OWSWebRTCProtosConnected alloc] init];
  }
}
+ (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosConnectedInstance;
}
- (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosConnectedInstance;
}
- (BOOL) isInitialized {
  return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
  if (self.hasId) {
    [output writeUInt64:1 value:self.id];
  }
  [self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
  __block SInt32 size_ = memoizedSerializedSize;
  if (size_ != -1) {
    return size_;
  }

  size_ = 0;
  if (self.hasId) {
    size_ += computeUInt64Size(1, self.id);
  }
  size_ += self.unknownFields.serializedSize;
  memoizedSerializedSize = size_;
  return size_;
}
+ (OWSWebRTCProtosConnected*) parseFromData:(NSData*) data {
  return (OWSWebRTCProtosConnected*)[[[OWSWebRTCProtosConnected builder] mergeFromData:data] build];
}
+ (OWSWebRTCProtosConnected*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosConnected*)[[[OWSWebRTCProtosConnected builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosConnected*) parseFromInputStream:(NSInputStream*) input {
  return (OWSWebRTCProtosConnected*)[[[OWSWebRTCProtosConnected builder] mergeFromInputStream:input] build];
}
+ (OWSWebRTCProtosConnected*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosConnected*)[[[OWSWebRTCProtosConnected builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosConnected*) parseFromCodedInputStream:(PBCodedInputStream*) input {
  return (OWSWebRTCProtosConnected*)[[[OWSWebRTCProtosConnected builder] mergeFromCodedInputStream:input] build];
}
+ (OWSWebRTCProtosConnected*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosConnected*)[[[OWSWebRTCProtosConnected builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosConnectedBuilder*) builder {
  return [[OWSWebRTCProtosConnectedBuilder alloc] init];
}
+ (OWSWebRTCProtosConnectedBuilder*) builderWithPrototype:(OWSWebRTCProtosConnected*) prototype {
  return [[OWSWebRTCProtosConnected builder] mergeFrom:prototype];
}
- (OWSWebRTCProtosConnectedBuilder*) builder {
  return [OWSWebRTCProtosConnected builder];
}
- (OWSWebRTCProtosConnectedBuilder*) toBuilder {
  return [OWSWebRTCProtosConnected builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
  if (self.hasId) {
    [output appendFormat:@"%@%@: %@\n", indent, @"id", [NSNumber numberWithLongLong:self.id]];
  }
  [self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
  if (self.hasId) {
    [dictionary setObject: [NSNumber numberWithLongLong:self.id] forKey: @"id"];
  }
  [self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
  if (other == self) {
    return YES;
  }
  if (![other isKindOfClass:[OWSWebRTCProtosConnected class]]) {
    return NO;
  }
  OWSWebRTCProtosConnected *otherMessage = other;
  return
      self.hasId == otherMessage.hasId &&
      (!self.hasId || self.id == otherMessage.id) &&
      (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
  __block NSUInteger hashCode = 7;
  if (self.hasId) {
    hashCode = hashCode * 31 + [[NSNumber numberWithLongLong:self.id] hash];
  }
  hashCode = hashCode * 31 + [self.unknownFields hash];
  return hashCode;
}
@end

@interface OWSWebRTCProtosConnectedBuilder()
@property (strong) OWSWebRTCProtosConnected* resultConnected;
@end

@implementation OWSWebRTCProtosConnectedBuilder
@synthesize resultConnected;
- (instancetype) init {
  if ((self = [super init])) {
    self.resultConnected = [[OWSWebRTCProtosConnected alloc] init];
  }
  return self;
}
- (PBGeneratedMessage*) internalGetResult {
  return resultConnected;
}
- (OWSWebRTCProtosConnectedBuilder*) clear {
  self.resultConnected = [[OWSWebRTCProtosConnected alloc] init];
  return self;
}
- (OWSWebRTCProtosConnectedBuilder*) clone {
  return [OWSWebRTCProtosConnected builderWithPrototype:resultConnected];
}
- (OWSWebRTCProtosConnected*) defaultInstance {
  return [OWSWebRTCProtosConnected defaultInstance];
}
- (OWSWebRTCProtosConnected*) build {
  [self checkInitialized];
  return [self buildPartial];
}
- (OWSWebRTCProtosConnected*) buildPartial {
  OWSWebRTCProtosConnected* returnMe = resultConnected;
  self.resultConnected = nil;
  return returnMe;
}
- (OWSWebRTCProtosConnectedBuilder*) mergeFrom:(OWSWebRTCProtosConnected*) other {
  if (other == [OWSWebRTCProtosConnected defaultInstance]) {
    return self;
  }
  if (other.hasId) {
    [self setId:other.id];
  }
  [self mergeUnknownFields:other.unknownFields];
  return self;
}
- (OWSWebRTCProtosConnectedBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
  return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSWebRTCProtosConnectedBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields];
  while (YES) {
    SInt32 tag = [input readTag];
    switch (tag) {
      case 0:
        [self setUnknownFields:[unknownFields build]];
        return self;
      default: {
        if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) {
          [self setUnknownFields:[unknownFields build]];
          return self;
        }
        break;
      }
      case 8: {
        [self setId:[input readUInt64]];
        break;
      }
    }
  }
}
- (BOOL) hasId {
  return resultConnected.hasId;
}
- (UInt64) id {
  return resultConnected.id;
}
- (OWSWebRTCProtosConnectedBuilder*) setId:(UInt64) value {
  resultConnected.hasId = YES;
  resultConnected.id = value;
  return self;
}
- (OWSWebRTCProtosConnectedBuilder*) clearId {
  resultConnected.hasId = NO;
  resultConnected.id = 0L;
  return self;
}
@end

@interface OWSWebRTCProtosHangup ()
@property UInt64 id;
@end

@implementation OWSWebRTCProtosHangup

- (BOOL) hasId {
  return !!hasId_;
}
- (void) setHasId:(BOOL) _value_ {
  hasId_ = !!_value_;
}
@synthesize id;
- (instancetype) init {
  if ((self = [super init])) {
    self.id = 0L;
  }
  return self;
}
static OWSWebRTCProtosHangup* defaultOWSWebRTCProtosHangupInstance = nil;
+ (void) initialize {
  if (self == [OWSWebRTCProtosHangup class]) {
    defaultOWSWebRTCProtosHangupInstance = [[OWSWebRTCProtosHangup alloc] init];
  }
}
+ (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosHangupInstance;
}
- (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosHangupInstance;
}
- (BOOL) isInitialized {
  return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
  if (self.hasId) {
    [output writeUInt64:1 value:self.id];
  }
  [self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
  __block SInt32 size_ = memoizedSerializedSize;
  if (size_ != -1) {
    return size_;
  }

  size_ = 0;
  if (self.hasId) {
    size_ += computeUInt64Size(1, self.id);
  }
  size_ += self.unknownFields.serializedSize;
  memoizedSerializedSize = size_;
  return size_;
}
+ (OWSWebRTCProtosHangup*) parseFromData:(NSData*) data {
  return (OWSWebRTCProtosHangup*)[[[OWSWebRTCProtosHangup builder] mergeFromData:data] build];
}
+ (OWSWebRTCProtosHangup*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosHangup*)[[[OWSWebRTCProtosHangup builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosHangup*) parseFromInputStream:(NSInputStream*) input {
  return (OWSWebRTCProtosHangup*)[[[OWSWebRTCProtosHangup builder] mergeFromInputStream:input] build];
}
+ (OWSWebRTCProtosHangup*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosHangup*)[[[OWSWebRTCProtosHangup builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosHangup*) parseFromCodedInputStream:(PBCodedInputStream*) input {
  return (OWSWebRTCProtosHangup*)[[[OWSWebRTCProtosHangup builder] mergeFromCodedInputStream:input] build];
}
+ (OWSWebRTCProtosHangup*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosHangup*)[[[OWSWebRTCProtosHangup builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosHangupBuilder*) builder {
  return [[OWSWebRTCProtosHangupBuilder alloc] init];
}
+ (OWSWebRTCProtosHangupBuilder*) builderWithPrototype:(OWSWebRTCProtosHangup*) prototype {
  return [[OWSWebRTCProtosHangup builder] mergeFrom:prototype];
}
- (OWSWebRTCProtosHangupBuilder*) builder {
  return [OWSWebRTCProtosHangup builder];
}
- (OWSWebRTCProtosHangupBuilder*) toBuilder {
  return [OWSWebRTCProtosHangup builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
  if (self.hasId) {
    [output appendFormat:@"%@%@: %@\n", indent, @"id", [NSNumber numberWithLongLong:self.id]];
  }
  [self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
  if (self.hasId) {
    [dictionary setObject: [NSNumber numberWithLongLong:self.id] forKey: @"id"];
  }
  [self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
  if (other == self) {
    return YES;
  }
  if (![other isKindOfClass:[OWSWebRTCProtosHangup class]]) {
    return NO;
  }
  OWSWebRTCProtosHangup *otherMessage = other;
  return
      self.hasId == otherMessage.hasId &&
      (!self.hasId || self.id == otherMessage.id) &&
      (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
  __block NSUInteger hashCode = 7;
  if (self.hasId) {
    hashCode = hashCode * 31 + [[NSNumber numberWithLongLong:self.id] hash];
  }
  hashCode = hashCode * 31 + [self.unknownFields hash];
  return hashCode;
}
@end

@interface OWSWebRTCProtosHangupBuilder()
@property (strong) OWSWebRTCProtosHangup* resultHangup;
@end

@implementation OWSWebRTCProtosHangupBuilder
@synthesize resultHangup;
- (instancetype) init {
  if ((self = [super init])) {
    self.resultHangup = [[OWSWebRTCProtosHangup alloc] init];
  }
  return self;
}
- (PBGeneratedMessage*) internalGetResult {
  return resultHangup;
}
- (OWSWebRTCProtosHangupBuilder*) clear {
  self.resultHangup = [[OWSWebRTCProtosHangup alloc] init];
  return self;
}
- (OWSWebRTCProtosHangupBuilder*) clone {
  return [OWSWebRTCProtosHangup builderWithPrototype:resultHangup];
}
- (OWSWebRTCProtosHangup*) defaultInstance {
  return [OWSWebRTCProtosHangup defaultInstance];
}
- (OWSWebRTCProtosHangup*) build {
  [self checkInitialized];
  return [self buildPartial];
}
- (OWSWebRTCProtosHangup*) buildPartial {
  OWSWebRTCProtosHangup* returnMe = resultHangup;
  self.resultHangup = nil;
  return returnMe;
}
- (OWSWebRTCProtosHangupBuilder*) mergeFrom:(OWSWebRTCProtosHangup*) other {
  if (other == [OWSWebRTCProtosHangup defaultInstance]) {
    return self;
  }
  if (other.hasId) {
    [self setId:other.id];
  }
  [self mergeUnknownFields:other.unknownFields];
  return self;
}
- (OWSWebRTCProtosHangupBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
  return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSWebRTCProtosHangupBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields];
  while (YES) {
    SInt32 tag = [input readTag];
    switch (tag) {
      case 0:
        [self setUnknownFields:[unknownFields build]];
        return self;
      default: {
        if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) {
          [self setUnknownFields:[unknownFields build]];
          return self;
        }
        break;
      }
      case 8: {
        [self setId:[input readUInt64]];
        break;
      }
    }
  }
}
- (BOOL) hasId {
  return resultHangup.hasId;
}
- (UInt64) id {
  return resultHangup.id;
}
- (OWSWebRTCProtosHangupBuilder*) setId:(UInt64) value {
  resultHangup.hasId = YES;
  resultHangup.id = value;
  return self;
}
- (OWSWebRTCProtosHangupBuilder*) clearId {
  resultHangup.hasId = NO;
  resultHangup.id = 0L;
  return self;
}
@end

@interface OWSWebRTCProtosVideoStreamingStatus ()
@property UInt64 id;
@property BOOL enabled;
@end

@implementation OWSWebRTCProtosVideoStreamingStatus

- (BOOL) hasId {
  return !!hasId_;
}
- (void) setHasId:(BOOL) _value_ {
  hasId_ = !!_value_;
}
@synthesize id;
- (BOOL) hasEnabled {
  return !!hasEnabled_;
}
- (void) setHasEnabled:(BOOL) _value_ {
  hasEnabled_ = !!_value_;
}
- (BOOL) enabled {
  return !!enabled_;
}
- (void) setEnabled:(BOOL) _value_ {
  enabled_ = !!_value_;
}
- (instancetype) init {
  if ((self = [super init])) {
    self.id = 0L;
    self.enabled = NO;
  }
  return self;
}
static OWSWebRTCProtosVideoStreamingStatus* defaultOWSWebRTCProtosVideoStreamingStatusInstance = nil;
+ (void) initialize {
  if (self == [OWSWebRTCProtosVideoStreamingStatus class]) {
    defaultOWSWebRTCProtosVideoStreamingStatusInstance = [[OWSWebRTCProtosVideoStreamingStatus alloc] init];
  }
}
+ (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosVideoStreamingStatusInstance;
}
- (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosVideoStreamingStatusInstance;
}
- (BOOL) isInitialized {
  return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
  if (self.hasId) {
    [output writeUInt64:1 value:self.id];
  }
  if (self.hasEnabled) {
    [output writeBool:2 value:self.enabled];
  }
  [self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
  __block SInt32 size_ = memoizedSerializedSize;
  if (size_ != -1) {
    return size_;
  }

  size_ = 0;
  if (self.hasId) {
    size_ += computeUInt64Size(1, self.id);
  }
  if (self.hasEnabled) {
    size_ += computeBoolSize(2, self.enabled);
  }
  size_ += self.unknownFields.serializedSize;
  memoizedSerializedSize = size_;
  return size_;
}
+ (OWSWebRTCProtosVideoStreamingStatus*) parseFromData:(NSData*) data {
  return (OWSWebRTCProtosVideoStreamingStatus*)[[[OWSWebRTCProtosVideoStreamingStatus builder] mergeFromData:data] build];
}
+ (OWSWebRTCProtosVideoStreamingStatus*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosVideoStreamingStatus*)[[[OWSWebRTCProtosVideoStreamingStatus builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosVideoStreamingStatus*) parseFromInputStream:(NSInputStream*) input {
  return (OWSWebRTCProtosVideoStreamingStatus*)[[[OWSWebRTCProtosVideoStreamingStatus builder] mergeFromInputStream:input] build];
}
+ (OWSWebRTCProtosVideoStreamingStatus*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosVideoStreamingStatus*)[[[OWSWebRTCProtosVideoStreamingStatus builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosVideoStreamingStatus*) parseFromCodedInputStream:(PBCodedInputStream*) input {
  return (OWSWebRTCProtosVideoStreamingStatus*)[[[OWSWebRTCProtosVideoStreamingStatus builder] mergeFromCodedInputStream:input] build];
}
+ (OWSWebRTCProtosVideoStreamingStatus*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosVideoStreamingStatus*)[[[OWSWebRTCProtosVideoStreamingStatus builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosVideoStreamingStatusBuilder*) builder {
  return [[OWSWebRTCProtosVideoStreamingStatusBuilder alloc] init];
}
+ (OWSWebRTCProtosVideoStreamingStatusBuilder*) builderWithPrototype:(OWSWebRTCProtosVideoStreamingStatus*) prototype {
  return [[OWSWebRTCProtosVideoStreamingStatus builder] mergeFrom:prototype];
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) builder {
  return [OWSWebRTCProtosVideoStreamingStatus builder];
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) toBuilder {
  return [OWSWebRTCProtosVideoStreamingStatus builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
  if (self.hasId) {
    [output appendFormat:@"%@%@: %@\n", indent, @"id", [NSNumber numberWithLongLong:self.id]];
  }
  if (self.hasEnabled) {
    [output appendFormat:@"%@%@: %@\n", indent, @"enabled", [NSNumber numberWithBool:self.enabled]];
  }
  [self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
  if (self.hasId) {
    [dictionary setObject: [NSNumber numberWithLongLong:self.id] forKey: @"id"];
  }
  if (self.hasEnabled) {
    [dictionary setObject: [NSNumber numberWithBool:self.enabled] forKey: @"enabled"];
  }
  [self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
  if (other == self) {
    return YES;
  }
  if (![other isKindOfClass:[OWSWebRTCProtosVideoStreamingStatus class]]) {
    return NO;
  }
  OWSWebRTCProtosVideoStreamingStatus *otherMessage = other;
  return
      self.hasId == otherMessage.hasId &&
      (!self.hasId || self.id == otherMessage.id) &&
      self.hasEnabled == otherMessage.hasEnabled &&
      (!self.hasEnabled || self.enabled == otherMessage.enabled) &&
      (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
  __block NSUInteger hashCode = 7;
  if (self.hasId) {
    hashCode = hashCode * 31 + [[NSNumber numberWithLongLong:self.id] hash];
  }
  if (self.hasEnabled) {
    hashCode = hashCode * 31 + [[NSNumber numberWithBool:self.enabled] hash];
  }
  hashCode = hashCode * 31 + [self.unknownFields hash];
  return hashCode;
}
@end

@interface OWSWebRTCProtosVideoStreamingStatusBuilder()
@property (strong) OWSWebRTCProtosVideoStreamingStatus* resultVideoStreamingStatus;
@end

@implementation OWSWebRTCProtosVideoStreamingStatusBuilder
@synthesize resultVideoStreamingStatus;
- (instancetype) init {
  if ((self = [super init])) {
    self.resultVideoStreamingStatus = [[OWSWebRTCProtosVideoStreamingStatus alloc] init];
  }
  return self;
}
- (PBGeneratedMessage*) internalGetResult {
  return resultVideoStreamingStatus;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) clear {
  self.resultVideoStreamingStatus = [[OWSWebRTCProtosVideoStreamingStatus alloc] init];
  return self;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) clone {
  return [OWSWebRTCProtosVideoStreamingStatus builderWithPrototype:resultVideoStreamingStatus];
}
- (OWSWebRTCProtosVideoStreamingStatus*) defaultInstance {
  return [OWSWebRTCProtosVideoStreamingStatus defaultInstance];
}
- (OWSWebRTCProtosVideoStreamingStatus*) build {
  [self checkInitialized];
  return [self buildPartial];
}
- (OWSWebRTCProtosVideoStreamingStatus*) buildPartial {
  OWSWebRTCProtosVideoStreamingStatus* returnMe = resultVideoStreamingStatus;
  self.resultVideoStreamingStatus = nil;
  return returnMe;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) mergeFrom:(OWSWebRTCProtosVideoStreamingStatus*) other {
  if (other == [OWSWebRTCProtosVideoStreamingStatus defaultInstance]) {
    return self;
  }
  if (other.hasId) {
    [self setId:other.id];
  }
  if (other.hasEnabled) {
    [self setEnabled:other.enabled];
  }
  [self mergeUnknownFields:other.unknownFields];
  return self;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
  return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields];
  while (YES) {
    SInt32 tag = [input readTag];
    switch (tag) {
      case 0:
        [self setUnknownFields:[unknownFields build]];
        return self;
      default: {
        if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) {
          [self setUnknownFields:[unknownFields build]];
          return self;
        }
        break;
      }
      case 8: {
        [self setId:[input readUInt64]];
        break;
      }
      case 16: {
        [self setEnabled:[input readBool]];
        break;
      }
    }
  }
}
- (BOOL) hasId {
  return resultVideoStreamingStatus.hasId;
}
- (UInt64) id {
  return resultVideoStreamingStatus.id;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) setId:(UInt64) value {
  resultVideoStreamingStatus.hasId = YES;
  resultVideoStreamingStatus.id = value;
  return self;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) clearId {
  resultVideoStreamingStatus.hasId = NO;
  resultVideoStreamingStatus.id = 0L;
  return self;
}
- (BOOL) hasEnabled {
  return resultVideoStreamingStatus.hasEnabled;
}
- (BOOL) enabled {
  return resultVideoStreamingStatus.enabled;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) setEnabled:(BOOL) value {
  resultVideoStreamingStatus.hasEnabled = YES;
  resultVideoStreamingStatus.enabled = value;
  return self;
}
- (OWSWebRTCProtosVideoStreamingStatusBuilder*) clearEnabled {
  resultVideoStreamingStatus.hasEnabled = NO;
  resultVideoStreamingStatus.enabled = NO;
  return self;
}
@end

@interface OWSWebRTCProtosData ()
@property (strong) OWSWebRTCProtosConnected* connected;
@property (strong) OWSWebRTCProtosHangup* hangup;
@property (strong) OWSWebRTCProtosVideoStreamingStatus* videoStreamingStatus;
@end

@implementation OWSWebRTCProtosData

- (BOOL) hasConnected {
  return !!hasConnected_;
}
- (void) setHasConnected:(BOOL) _value_ {
  hasConnected_ = !!_value_;
}
@synthesize connected;
- (BOOL) hasHangup {
  return !!hasHangup_;
}
- (void) setHasHangup:(BOOL) _value_ {
  hasHangup_ = !!_value_;
}
@synthesize hangup;
- (BOOL) hasVideoStreamingStatus {
  return !!hasVideoStreamingStatus_;
}
- (void) setHasVideoStreamingStatus:(BOOL) _value_ {
  hasVideoStreamingStatus_ = !!_value_;
}
@synthesize videoStreamingStatus;
- (instancetype) init {
  if ((self = [super init])) {
    self.connected = [OWSWebRTCProtosConnected defaultInstance];
    self.hangup = [OWSWebRTCProtosHangup defaultInstance];
    self.videoStreamingStatus = [OWSWebRTCProtosVideoStreamingStatus defaultInstance];
  }
  return self;
}
static OWSWebRTCProtosData* defaultOWSWebRTCProtosDataInstance = nil;
+ (void) initialize {
  if (self == [OWSWebRTCProtosData class]) {
    defaultOWSWebRTCProtosDataInstance = [[OWSWebRTCProtosData alloc] init];
  }
}
+ (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosDataInstance;
}
- (instancetype) defaultInstance {
  return defaultOWSWebRTCProtosDataInstance;
}
- (BOOL) isInitialized {
  return YES;
}
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output {
  if (self.hasConnected) {
    [output writeMessage:1 value:self.connected];
  }
  if (self.hasHangup) {
    [output writeMessage:2 value:self.hangup];
  }
  if (self.hasVideoStreamingStatus) {
    [output writeMessage:3 value:self.videoStreamingStatus];
  }
  [self.unknownFields writeToCodedOutputStream:output];
}
- (SInt32) serializedSize {
  __block SInt32 size_ = memoizedSerializedSize;
  if (size_ != -1) {
    return size_;
  }

  size_ = 0;
  if (self.hasConnected) {
    size_ += computeMessageSize(1, self.connected);
  }
  if (self.hasHangup) {
    size_ += computeMessageSize(2, self.hangup);
  }
  if (self.hasVideoStreamingStatus) {
    size_ += computeMessageSize(3, self.videoStreamingStatus);
  }
  size_ += self.unknownFields.serializedSize;
  memoizedSerializedSize = size_;
  return size_;
}
+ (OWSWebRTCProtosData*) parseFromData:(NSData*) data {
  return (OWSWebRTCProtosData*)[[[OWSWebRTCProtosData builder] mergeFromData:data] build];
}
+ (OWSWebRTCProtosData*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosData*)[[[OWSWebRTCProtosData builder] mergeFromData:data extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosData*) parseFromInputStream:(NSInputStream*) input {
  return (OWSWebRTCProtosData*)[[[OWSWebRTCProtosData builder] mergeFromInputStream:input] build];
}
+ (OWSWebRTCProtosData*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosData*)[[[OWSWebRTCProtosData builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosData*) parseFromCodedInputStream:(PBCodedInputStream*) input {
  return (OWSWebRTCProtosData*)[[[OWSWebRTCProtosData builder] mergeFromCodedInputStream:input] build];
}
+ (OWSWebRTCProtosData*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  return (OWSWebRTCProtosData*)[[[OWSWebRTCProtosData builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build];
}
+ (OWSWebRTCProtosDataBuilder*) builder {
  return [[OWSWebRTCProtosDataBuilder alloc] init];
}
+ (OWSWebRTCProtosDataBuilder*) builderWithPrototype:(OWSWebRTCProtosData*) prototype {
  return [[OWSWebRTCProtosData builder] mergeFrom:prototype];
}
- (OWSWebRTCProtosDataBuilder*) builder {
  return [OWSWebRTCProtosData builder];
}
- (OWSWebRTCProtosDataBuilder*) toBuilder {
  return [OWSWebRTCProtosData builderWithPrototype:self];
}
- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent {
  if (self.hasConnected) {
    [output appendFormat:@"%@%@ {\n", indent, @"connected"];
    [self.connected writeDescriptionTo:output
                         withIndent:[NSString stringWithFormat:@"%@  ", indent]];
    [output appendFormat:@"%@}\n", indent];
  }
  if (self.hasHangup) {
    [output appendFormat:@"%@%@ {\n", indent, @"hangup"];
    [self.hangup writeDescriptionTo:output
                         withIndent:[NSString stringWithFormat:@"%@  ", indent]];
    [output appendFormat:@"%@}\n", indent];
  }
  if (self.hasVideoStreamingStatus) {
    [output appendFormat:@"%@%@ {\n", indent, @"videoStreamingStatus"];
    [self.videoStreamingStatus writeDescriptionTo:output
                         withIndent:[NSString stringWithFormat:@"%@  ", indent]];
    [output appendFormat:@"%@}\n", indent];
  }
  [self.unknownFields writeDescriptionTo:output withIndent:indent];
}
- (void) storeInDictionary:(NSMutableDictionary *)dictionary {
  if (self.hasConnected) {
   NSMutableDictionary *messageDictionary = [NSMutableDictionary dictionary]; 
   [self.connected storeInDictionary:messageDictionary];
   [dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"connected"];
  }
  if (self.hasHangup) {
   NSMutableDictionary *messageDictionary = [NSMutableDictionary dictionary]; 
   [self.hangup storeInDictionary:messageDictionary];
   [dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"hangup"];
  }
  if (self.hasVideoStreamingStatus) {
   NSMutableDictionary *messageDictionary = [NSMutableDictionary dictionary]; 
   [self.videoStreamingStatus storeInDictionary:messageDictionary];
   [dictionary setObject:[NSDictionary dictionaryWithDictionary:messageDictionary] forKey:@"videoStreamingStatus"];
  }
  [self.unknownFields storeInDictionary:dictionary];
}
- (BOOL) isEqual:(id)other {
  if (other == self) {
    return YES;
  }
  if (![other isKindOfClass:[OWSWebRTCProtosData class]]) {
    return NO;
  }
  OWSWebRTCProtosData *otherMessage = other;
  return
      self.hasConnected == otherMessage.hasConnected &&
      (!self.hasConnected || [self.connected isEqual:otherMessage.connected]) &&
      self.hasHangup == otherMessage.hasHangup &&
      (!self.hasHangup || [self.hangup isEqual:otherMessage.hangup]) &&
      self.hasVideoStreamingStatus == otherMessage.hasVideoStreamingStatus &&
      (!self.hasVideoStreamingStatus || [self.videoStreamingStatus isEqual:otherMessage.videoStreamingStatus]) &&
      (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields]));
}
- (NSUInteger) hash {
  __block NSUInteger hashCode = 7;
  if (self.hasConnected) {
    hashCode = hashCode * 31 + [self.connected hash];
  }
  if (self.hasHangup) {
    hashCode = hashCode * 31 + [self.hangup hash];
  }
  if (self.hasVideoStreamingStatus) {
    hashCode = hashCode * 31 + [self.videoStreamingStatus hash];
  }
  hashCode = hashCode * 31 + [self.unknownFields hash];
  return hashCode;
}
@end

@interface OWSWebRTCProtosDataBuilder()
@property (strong) OWSWebRTCProtosData* resultData;
@end

@implementation OWSWebRTCProtosDataBuilder
@synthesize resultData;
- (instancetype) init {
  if ((self = [super init])) {
    self.resultData = [[OWSWebRTCProtosData alloc] init];
  }
  return self;
}
- (PBGeneratedMessage*) internalGetResult {
  return resultData;
}
- (OWSWebRTCProtosDataBuilder*) clear {
  self.resultData = [[OWSWebRTCProtosData alloc] init];
  return self;
}
- (OWSWebRTCProtosDataBuilder*) clone {
  return [OWSWebRTCProtosData builderWithPrototype:resultData];
}
- (OWSWebRTCProtosData*) defaultInstance {
  return [OWSWebRTCProtosData defaultInstance];
}
- (OWSWebRTCProtosData*) build {
  [self checkInitialized];
  return [self buildPartial];
}
- (OWSWebRTCProtosData*) buildPartial {
  OWSWebRTCProtosData* returnMe = resultData;
  self.resultData = nil;
  return returnMe;
}
- (OWSWebRTCProtosDataBuilder*) mergeFrom:(OWSWebRTCProtosData*) other {
  if (other == [OWSWebRTCProtosData defaultInstance]) {
    return self;
  }
  if (other.hasConnected) {
    [self mergeConnected:other.connected];
  }
  if (other.hasHangup) {
    [self mergeHangup:other.hangup];
  }
  if (other.hasVideoStreamingStatus) {
    [self mergeVideoStreamingStatus:other.videoStreamingStatus];
  }
  [self mergeUnknownFields:other.unknownFields];
  return self;
}
- (OWSWebRTCProtosDataBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input {
  return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]];
}
- (OWSWebRTCProtosDataBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry {
  PBUnknownFieldSetBuilder* unknownFields = [PBUnknownFieldSet builderWithUnknownFields:self.unknownFields];
  while (YES) {
    SInt32 tag = [input readTag];
    switch (tag) {
      case 0:
        [self setUnknownFields:[unknownFields build]];
        return self;
      default: {
        if (![self parseUnknownField:input unknownFields:unknownFields extensionRegistry:extensionRegistry tag:tag]) {
          [self setUnknownFields:[unknownFields build]];
          return self;
        }
        break;
      }
      case 10: {
        OWSWebRTCProtosConnectedBuilder* subBuilder = [OWSWebRTCProtosConnected builder];
        if (self.hasConnected) {
          [subBuilder mergeFrom:self.connected];
        }
        [input readMessage:subBuilder extensionRegistry:extensionRegistry];
        [self setConnected:[subBuilder buildPartial]];
        break;
      }
      case 18: {
        OWSWebRTCProtosHangupBuilder* subBuilder = [OWSWebRTCProtosHangup builder];
        if (self.hasHangup) {
          [subBuilder mergeFrom:self.hangup];
        }
        [input readMessage:subBuilder extensionRegistry:extensionRegistry];
        [self setHangup:[subBuilder buildPartial]];
        break;
      }
      case 26: {
        OWSWebRTCProtosVideoStreamingStatusBuilder* subBuilder = [OWSWebRTCProtosVideoStreamingStatus builder];
        if (self.hasVideoStreamingStatus) {
          [subBuilder mergeFrom:self.videoStreamingStatus];
        }
        [input readMessage:subBuilder extensionRegistry:extensionRegistry];
        [self setVideoStreamingStatus:[subBuilder buildPartial]];
        break;
      }
    }
  }
}
- (BOOL) hasConnected {
  return resultData.hasConnected;
}
- (OWSWebRTCProtosConnected*) connected {
  return resultData.connected;
}
- (OWSWebRTCProtosDataBuilder*) setConnected:(OWSWebRTCProtosConnected*) value {
  resultData.hasConnected = YES;
  resultData.connected = value;
  return self;
}
- (OWSWebRTCProtosDataBuilder*) setConnectedBuilder:(OWSWebRTCProtosConnectedBuilder*) builderForValue {
  return [self setConnected:[builderForValue build]];
}
- (OWSWebRTCProtosDataBuilder*) mergeConnected:(OWSWebRTCProtosConnected*) value {
  if (resultData.hasConnected &&
      resultData.connected != [OWSWebRTCProtosConnected defaultInstance]) {
    resultData.connected =
      [[[OWSWebRTCProtosConnected builderWithPrototype:resultData.connected] mergeFrom:value] buildPartial];
  } else {
    resultData.connected = value;
  }
  resultData.hasConnected = YES;
  return self;
}
- (OWSWebRTCProtosDataBuilder*) clearConnected {
  resultData.hasConnected = NO;
  resultData.connected = [OWSWebRTCProtosConnected defaultInstance];
  return self;
}
- (BOOL) hasHangup {
  return resultData.hasHangup;
}
- (OWSWebRTCProtosHangup*) hangup {
  return resultData.hangup;
}
- (OWSWebRTCProtosDataBuilder*) setHangup:(OWSWebRTCProtosHangup*) value {
  resultData.hasHangup = YES;
  resultData.hangup = value;
  return self;
}
- (OWSWebRTCProtosDataBuilder*) setHangupBuilder:(OWSWebRTCProtosHangupBuilder*) builderForValue {
  return [self setHangup:[builderForValue build]];
}
- (OWSWebRTCProtosDataBuilder*) mergeHangup:(OWSWebRTCProtosHangup*) value {
  if (resultData.hasHangup &&
      resultData.hangup != [OWSWebRTCProtosHangup defaultInstance]) {
    resultData.hangup =
      [[[OWSWebRTCProtosHangup builderWithPrototype:resultData.hangup] mergeFrom:value] buildPartial];
  } else {
    resultData.hangup = value;
  }
  resultData.hasHangup = YES;
  return self;
}
- (OWSWebRTCProtosDataBuilder*) clearHangup {
  resultData.hasHangup = NO;
  resultData.hangup = [OWSWebRTCProtosHangup defaultInstance];
  return self;
}
- (BOOL) hasVideoStreamingStatus {
  return resultData.hasVideoStreamingStatus;
}
- (OWSWebRTCProtosVideoStreamingStatus*) videoStreamingStatus {
  return resultData.videoStreamingStatus;
}
- (OWSWebRTCProtosDataBuilder*) setVideoStreamingStatus:(OWSWebRTCProtosVideoStreamingStatus*) value {
  resultData.hasVideoStreamingStatus = YES;
  resultData.videoStreamingStatus = value;
  return self;
}
- (OWSWebRTCProtosDataBuilder*) setVideoStreamingStatusBuilder:(OWSWebRTCProtosVideoStreamingStatusBuilder*) builderForValue {
  return [self setVideoStreamingStatus:[builderForValue build]];
}
- (OWSWebRTCProtosDataBuilder*) mergeVideoStreamingStatus:(OWSWebRTCProtosVideoStreamingStatus*) value {
  if (resultData.hasVideoStreamingStatus &&
      resultData.videoStreamingStatus != [OWSWebRTCProtosVideoStreamingStatus defaultInstance]) {
    resultData.videoStreamingStatus =
      [[[OWSWebRTCProtosVideoStreamingStatus builderWithPrototype:resultData.videoStreamingStatus] mergeFrom:value] buildPartial];
  } else {
    resultData.videoStreamingStatus = value;
  }
  resultData.hasVideoStreamingStatus = YES;
  return self;
}
- (OWSWebRTCProtosDataBuilder*) clearVideoStreamingStatus {
  resultData.hasVideoStreamingStatus = NO;
  resultData.videoStreamingStatus = [OWSWebRTCProtosVideoStreamingStatus defaultInstance];
  return self;
}
@end


// @@protoc_insertion_point(global_scope)
