diff options
Diffstat (limited to 'src/objective-c')
34 files changed, 2190 insertions, 5431 deletions
diff --git a/src/objective-c/ProtoRPC/ProtoRPC.m b/src/objective-c/ProtoRPC/ProtoRPC.m index 6520b3af59..c5051c0123 100644 --- a/src/objective-c/ProtoRPC/ProtoRPC.m +++ b/src/objective-c/ProtoRPC/ProtoRPC.m @@ -36,7 +36,7 @@ #import <gRPC/GRXWriteable.h> #import <gRPC/GRXWriter.h> #import <gRPC/GRXWriter+Transformations.h> -#import <ProtocolBuffers/ProtocolBuffers.h> +#import <Protobuf/GPBProtocolBuffers.h> @implementation ProtoRPC { id<GRXWriteable> _responseWriteable; @@ -65,7 +65,7 @@ } // A writer that serializes the proto messages to send. id<GRXWriter> bytesWriter = - [[[GRXWriter alloc] initWithWriter:requestsWriter] map:^id(PBGeneratedMessage *proto) { + [[[GRXWriter alloc] initWithWriter:requestsWriter] map:^id(GPBMessage *proto) { return [proto data]; }]; if ((self = [super initWithHost:host method:method requestsWriter:bytesWriter])) { diff --git a/src/objective-c/RxLibrary/GRXBufferedPipe.h b/src/objective-c/RxLibrary/GRXBufferedPipe.h new file mode 100644 index 0000000000..4147362ba4 --- /dev/null +++ b/src/objective-c/RxLibrary/GRXBufferedPipe.h @@ -0,0 +1,59 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#import <Foundation/Foundation.h> + +#import "GRXWriteable.h" +#import "GRXWriter.h" + +// A buffered pipe is a Writeable that also acts as a Writer (to whichever other writeable is passed +// to -startWithWriteable:). +// Once it is started, whatever values are written into it (via -didReceiveValue:) will be +// propagated immediately, unless flow control prevents it. +// If it is throttled and keeps receiving values, as well as if it receives values before being +// started, it will buffer them and propagate them in order as soon as its state becomes +// GRXWriterStateStarted. +// If it receives an error (via -didFinishWithError:), it will drop any buffered values and +// propagate the error immediately. +// +// Beware that a pipe of this type can't prevent receiving more values when it is paused (for +// example if used to write data to a congested network connection). Because in such situations the +// pipe will keep buffering all data written to it, your application could run out of memory and +// crash. If you want to react to flow control signals to prevent that, instead of using this class +// you can implement an object that conforms to GRXWriter. +@interface GRXBufferedPipe : NSObject<GRXWriteable, GRXWriter> + +// Convenience constructor. ++ (instancetype)pipe; + +@end diff --git a/src/objective-c/RxLibrary/GRXBufferedPipe.m b/src/objective-c/RxLibrary/GRXBufferedPipe.m new file mode 100644 index 0000000000..3ef470f89f --- /dev/null +++ b/src/objective-c/RxLibrary/GRXBufferedPipe.m @@ -0,0 +1,146 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#import "GRXBufferedPipe.h" + +@implementation GRXBufferedPipe { + id<GRXWriteable> _writeable; + NSMutableArray *_queue; + BOOL _inputIsFinished; + NSError *_errorOrNil; +} + +@synthesize state = _state; + ++ (instancetype)pipe { + return [[self alloc] init]; +} + +- (instancetype)init { + if (self = [super init]) { + _queue = [NSMutableArray array]; + _state = GRXWriterStateNotStarted; + } + return self; +} + +- (id)popValue { + id value = _queue[0]; + [_queue removeObjectAtIndex:0]; + return value; +} + +- (void)writeBufferUntilPausedOrStopped { + while (_state == GRXWriterStateStarted && _queue.count > 0) { + [_writeable didReceiveValue:[self popValue]]; + } + if (_inputIsFinished && _queue.count == 0) { + // Our writer finished normally while we were paused or not-started-yet. + [self finishWithError:_errorOrNil]; + } +} + +#pragma mark GRXWriteable implementation + +// Returns whether events can be simply propagated to the other end of the pipe. +- (BOOL)shouldFastForward { + return _state == GRXWriterStateStarted && _queue.count == 0; +} + +- (void)didReceiveValue:(id)value { + if (self.shouldFastForward) { + // Skip the queue. + [_writeable didReceiveValue:value]; + } else { + // Even if we're paused and with enqueued values, we can't excert back-pressure to our writer. + // So just buffer the new value. + // We need a copy, so that it doesn't mutate before it's written at the other end of the pipe. + if ([value respondsToSelector:@selector(copy)]) { + value = [value copy]; + } + [_queue addObject:value]; + } +} + +- (void)didFinishWithError:(NSError *)errorOrNil { + _inputIsFinished = YES; + _errorOrNil = errorOrNil; + if (errorOrNil || self.shouldFastForward) { + // No need to write pending values. + [self finishWithError:_errorOrNil]; + } +} + +#pragma mark GRXWriter implementation + +- (void)setState:(GRXWriterState)newState { + // Manual transitions are only allowed from the started or paused states. + if (_state == GRXWriterStateNotStarted || _state == GRXWriterStateFinished) { + return; + } + + switch (newState) { + case GRXWriterStateFinished: + _state = newState; + _queue = nil; + // Per GRXWriter's contract, setting the state to Finished manually means one doesn't wish the + // writeable to be messaged anymore. + _writeable = nil; + return; + case GRXWriterStatePaused: + _state = newState; + return; + case GRXWriterStateStarted: + if (_state == GRXWriterStatePaused) { + _state = newState; + [self writeBufferUntilPausedOrStopped]; + } + return; + case GRXWriterStateNotStarted: + return; + } +} + +- (void)startWithWriteable:(id<GRXWriteable>)writeable { + _state = GRXWriterStateStarted; + _writeable = writeable; + [self writeBufferUntilPausedOrStopped]; +} + +- (void)finishWithError:(NSError *)errorOrNil { + id<GRXWriteable> writeable = _writeable; + self.state = GRXWriterStateFinished; + [writeable didFinishWithError:errorOrNil]; +} + +@end diff --git a/src/objective-c/examples/Sample/Podfile b/src/objective-c/examples/Sample/Podfile index 8b1a90e39b..d30d9c5210 100644 --- a/src/objective-c/examples/Sample/Podfile +++ b/src/objective-c/examples/Sample/Podfile @@ -2,6 +2,7 @@ source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' pod 'gRPC', :path => "../../../.." +pod 'Protobuf', :git => 'https://github.com/jcanizales/protobuf.git', :branch => 'add-podspec' pod 'Route_guide', :path => "RouteGuideClient" pod 'RemoteTest', :path => "RemoteTestClient" diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.h b/src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.h deleted file mode 100644 index bf9fa3e36f..0000000000 --- a/src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.h +++ /dev/null @@ -1,103 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import <ProtocolBuffers/ProtocolBuffers.h> - -// @@protoc_insertion_point(imports) - -@class ObjectiveCFileOptions; -@class ObjectiveCFileOptionsBuilder; -@class PBDescriptorProto; -@class PBDescriptorProtoBuilder; -@class PBDescriptorProtoExtensionRange; -@class PBDescriptorProtoExtensionRangeBuilder; -@class PBEnumDescriptorProto; -@class PBEnumDescriptorProtoBuilder; -@class PBEnumOptions; -@class PBEnumOptionsBuilder; -@class PBEnumValueDescriptorProto; -@class PBEnumValueDescriptorProtoBuilder; -@class PBEnumValueOptions; -@class PBEnumValueOptionsBuilder; -@class PBFieldDescriptorProto; -@class PBFieldDescriptorProtoBuilder; -@class PBFieldOptions; -@class PBFieldOptionsBuilder; -@class PBFileDescriptorProto; -@class PBFileDescriptorProtoBuilder; -@class PBFileDescriptorSet; -@class PBFileDescriptorSetBuilder; -@class PBFileOptions; -@class PBFileOptionsBuilder; -@class PBMessageOptions; -@class PBMessageOptionsBuilder; -@class PBMethodDescriptorProto; -@class PBMethodDescriptorProtoBuilder; -@class PBMethodOptions; -@class PBMethodOptionsBuilder; -@class PBOneofDescriptorProto; -@class PBOneofDescriptorProtoBuilder; -@class PBServiceDescriptorProto; -@class PBServiceDescriptorProtoBuilder; -@class PBServiceOptions; -@class PBServiceOptionsBuilder; -@class PBSourceCodeInfo; -@class PBSourceCodeInfoBuilder; -@class PBSourceCodeInfoLocation; -@class PBSourceCodeInfoLocationBuilder; -@class PBUninterpretedOption; -@class PBUninterpretedOptionBuilder; -@class PBUninterpretedOptionNamePart; -@class PBUninterpretedOptionNamePartBuilder; -@class RMTEmpty; -@class RMTEmptyBuilder; - - - -@interface RMTEmptyRoot : NSObject { -} -+ (PBExtensionRegistry*) extensionRegistry; -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry; -@end - -@interface RMTEmpty : PBGeneratedMessage<GeneratedMessageProtocol> { -@private -} - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTEmptyBuilder*) builder; -+ (RMTEmptyBuilder*) builder; -+ (RMTEmptyBuilder*) builderWithPrototype:(RMTEmpty*) prototype; -- (RMTEmptyBuilder*) toBuilder; - -+ (RMTEmpty*) parseFromData:(NSData*) data; -+ (RMTEmpty*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTEmpty*) parseFromInputStream:(NSInputStream*) input; -+ (RMTEmpty*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTEmpty*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTEmpty*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTEmptyBuilder : PBGeneratedMessageBuilder { -@private - RMTEmpty* resultEmpty; -} - -- (RMTEmpty*) defaultInstance; - -- (RMTEmptyBuilder*) clear; -- (RMTEmptyBuilder*) clone; - -- (RMTEmpty*) build; -- (RMTEmpty*) buildPartial; - -- (RMTEmptyBuilder*) mergeFrom:(RMTEmpty*) other; -- (RMTEmptyBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTEmptyBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.m b/src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.m deleted file mode 100644 index 8e39cb70d1..0000000000 --- a/src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.m +++ /dev/null @@ -1,179 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import "Empty.pb.h" -// @@protoc_insertion_point(imports) - -@implementation RMTEmptyRoot -static PBExtensionRegistry* extensionRegistry = nil; -+ (PBExtensionRegistry*) extensionRegistry { - return extensionRegistry; -} - -+ (void) initialize { - if (self == [RMTEmptyRoot class]) { - PBMutableExtensionRegistry* registry = [PBMutableExtensionRegistry registry]; - [self registerAllExtensions:registry]; - [ObjectivecDescriptorRoot registerAllExtensions:registry]; - extensionRegistry = registry; - } -} -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry { -} -@end - -@interface RMTEmpty () -@end - -@implementation RMTEmpty - -- (instancetype) init { - if ((self = [super init])) { - } - return self; -} -static RMTEmpty* defaultRMTEmptyInstance = nil; -+ (void) initialize { - if (self == [RMTEmpty class]) { - defaultRMTEmptyInstance = [[RMTEmpty alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTEmptyInstance; -} -- (instancetype) defaultInstance { - return defaultRMTEmptyInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTEmpty*) parseFromData:(NSData*) data { - return (RMTEmpty*)[[[RMTEmpty builder] mergeFromData:data] build]; -} -+ (RMTEmpty*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTEmpty*)[[[RMTEmpty builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTEmpty*) parseFromInputStream:(NSInputStream*) input { - return (RMTEmpty*)[[[RMTEmpty builder] mergeFromInputStream:input] build]; -} -+ (RMTEmpty*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTEmpty*)[[[RMTEmpty builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTEmpty*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTEmpty*)[[[RMTEmpty builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTEmpty*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTEmpty*)[[[RMTEmpty builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTEmptyBuilder*) builder { - return [[RMTEmptyBuilder alloc] init]; -} -+ (RMTEmptyBuilder*) builderWithPrototype:(RMTEmpty*) prototype { - return [[RMTEmpty builder] mergeFrom:prototype]; -} -- (RMTEmptyBuilder*) builder { - return [RMTEmpty builder]; -} -- (RMTEmptyBuilder*) toBuilder { - return [RMTEmpty builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTEmpty class]]) { - return NO; - } - RMTEmpty *otherMessage = other; - return - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTEmptyBuilder() -@property (strong) RMTEmpty* resultEmpty; -@end - -@implementation RMTEmptyBuilder -@synthesize resultEmpty; -- (instancetype) init { - if ((self = [super init])) { - self.resultEmpty = [[RMTEmpty alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultEmpty; -} -- (RMTEmptyBuilder*) clear { - self.resultEmpty = [[RMTEmpty alloc] init]; - return self; -} -- (RMTEmptyBuilder*) clone { - return [RMTEmpty builderWithPrototype:resultEmpty]; -} -- (RMTEmpty*) defaultInstance { - return [RMTEmpty defaultInstance]; -} -- (RMTEmpty*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTEmpty*) buildPartial { - RMTEmpty* returnMe = resultEmpty; - self.resultEmpty = nil; - return returnMe; -} -- (RMTEmptyBuilder*) mergeFrom:(RMTEmpty*) other { - if (other == [RMTEmpty defaultInstance]) { - return self; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTEmptyBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTEmptyBuilder*) 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; - } - } - } -} -@end - - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.h b/src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.h new file mode 100644 index 0000000000..809d0dde6e --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.h @@ -0,0 +1,33 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: empty.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +CF_EXTERN_C_BEGIN + +@class RMTEmpty; + + +#pragma mark - RMTEmptyRoot + +@interface RMTEmptyRoot : GPBRootObject +@end + +#pragma mark - RMTEmpty + +// An empty message that you can re-use to avoid defining duplicated empty +// messages in your project. A typical example is to use it as argument or the +// return value of a service API. For instance: +// +// service Foo { +// rpc Bar (grpc.testing.Empty) returns (grpc.testing.Empty) { }; +// }; +@interface RMTEmpty : GPBMessage + +@end + +CF_EXTERN_C_END diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.m b/src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.m new file mode 100644 index 0000000000..46d481af66 --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.m @@ -0,0 +1,59 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: empty.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" + +#import "Empty.pbobjc.h" + +#pragma mark - RMTEmptyRoot + +@implementation RMTEmptyRoot + +@end + +static GPBFileDescriptor *RMTEmptyRoot_FileDescriptor(void) { + // This is called by +initialize so there is no need to worry + // about thread safety of the singleton. + static GPBFileDescriptor *descriptor = NULL; + if (!descriptor) { + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"grpc.testing" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - RMTEmpty + +@implementation RMTEmpty + + +typedef struct RMTEmpty_Storage { + uint32_t _has_storage_[0]; +} RMTEmpty_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTEmpty class] + rootClass:[RMTEmptyRoot class] + file:RMTEmptyRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTEmpty_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.h b/src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.h deleted file mode 100644 index 0a08e67702..0000000000 --- a/src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.h +++ /dev/null @@ -1,578 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import <ProtocolBuffers/ProtocolBuffers.h> - -// @@protoc_insertion_point(imports) - -@class ObjectiveCFileOptions; -@class ObjectiveCFileOptionsBuilder; -@class PBDescriptorProto; -@class PBDescriptorProtoBuilder; -@class PBDescriptorProtoExtensionRange; -@class PBDescriptorProtoExtensionRangeBuilder; -@class PBEnumDescriptorProto; -@class PBEnumDescriptorProtoBuilder; -@class PBEnumOptions; -@class PBEnumOptionsBuilder; -@class PBEnumValueDescriptorProto; -@class PBEnumValueDescriptorProtoBuilder; -@class PBEnumValueOptions; -@class PBEnumValueOptionsBuilder; -@class PBFieldDescriptorProto; -@class PBFieldDescriptorProtoBuilder; -@class PBFieldOptions; -@class PBFieldOptionsBuilder; -@class PBFileDescriptorProto; -@class PBFileDescriptorProtoBuilder; -@class PBFileDescriptorSet; -@class PBFileDescriptorSetBuilder; -@class PBFileOptions; -@class PBFileOptionsBuilder; -@class PBMessageOptions; -@class PBMessageOptionsBuilder; -@class PBMethodDescriptorProto; -@class PBMethodDescriptorProtoBuilder; -@class PBMethodOptions; -@class PBMethodOptionsBuilder; -@class PBOneofDescriptorProto; -@class PBOneofDescriptorProtoBuilder; -@class PBServiceDescriptorProto; -@class PBServiceDescriptorProtoBuilder; -@class PBServiceOptions; -@class PBServiceOptionsBuilder; -@class PBSourceCodeInfo; -@class PBSourceCodeInfoBuilder; -@class PBSourceCodeInfoLocation; -@class PBSourceCodeInfoLocationBuilder; -@class PBUninterpretedOption; -@class PBUninterpretedOptionBuilder; -@class PBUninterpretedOptionNamePart; -@class PBUninterpretedOptionNamePartBuilder; -@class RMTPayload; -@class RMTPayloadBuilder; -@class RMTResponseParameters; -@class RMTResponseParametersBuilder; -@class RMTSimpleRequest; -@class RMTSimpleRequestBuilder; -@class RMTSimpleResponse; -@class RMTSimpleResponseBuilder; -@class RMTStreamingInputCallRequest; -@class RMTStreamingInputCallRequestBuilder; -@class RMTStreamingInputCallResponse; -@class RMTStreamingInputCallResponseBuilder; -@class RMTStreamingOutputCallRequest; -@class RMTStreamingOutputCallRequestBuilder; -@class RMTStreamingOutputCallResponse; -@class RMTStreamingOutputCallResponseBuilder; - - -typedef NS_ENUM(SInt32, RMTPayloadType) { - RMTPayloadTypeCompressable = 0, - RMTPayloadTypeUncompressable = 1, - RMTPayloadTypeRandom = 2, -}; - -BOOL RMTPayloadTypeIsValidValue(RMTPayloadType value); -NSString *NSStringFromRMTPayloadType(RMTPayloadType value); - - -@interface RMTMessagesRoot : NSObject { -} -+ (PBExtensionRegistry*) extensionRegistry; -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry; -@end - -@interface RMTPayload : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasBody_:1; - BOOL hasType_:1; - NSData* body; - RMTPayloadType type; -} -- (BOOL) hasType; -- (BOOL) hasBody; -@property (readonly) RMTPayloadType type; -@property (readonly, strong) NSData* body; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTPayloadBuilder*) builder; -+ (RMTPayloadBuilder*) builder; -+ (RMTPayloadBuilder*) builderWithPrototype:(RMTPayload*) prototype; -- (RMTPayloadBuilder*) toBuilder; - -+ (RMTPayload*) parseFromData:(NSData*) data; -+ (RMTPayload*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTPayload*) parseFromInputStream:(NSInputStream*) input; -+ (RMTPayload*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTPayload*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTPayload*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTPayloadBuilder : PBGeneratedMessageBuilder { -@private - RMTPayload* resultPayload; -} - -- (RMTPayload*) defaultInstance; - -- (RMTPayloadBuilder*) clear; -- (RMTPayloadBuilder*) clone; - -- (RMTPayload*) build; -- (RMTPayload*) buildPartial; - -- (RMTPayloadBuilder*) mergeFrom:(RMTPayload*) other; -- (RMTPayloadBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTPayloadBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasType; -- (RMTPayloadType) type; -- (RMTPayloadBuilder*) setType:(RMTPayloadType) value; -- (RMTPayloadBuilder*) clearType; - -- (BOOL) hasBody; -- (NSData*) body; -- (RMTPayloadBuilder*) setBody:(NSData*) value; -- (RMTPayloadBuilder*) clearBody; -@end - -@interface RMTSimpleRequest : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasFillUsername_:1; - BOOL hasFillOauthScope_:1; - BOOL hasResponseSize_:1; - BOOL hasPayload_:1; - BOOL hasResponseType_:1; - BOOL fillUsername_:1; - BOOL fillOauthScope_:1; - SInt32 responseSize; - RMTPayload* payload; - RMTPayloadType responseType; -} -- (BOOL) hasResponseType; -- (BOOL) hasResponseSize; -- (BOOL) hasPayload; -- (BOOL) hasFillUsername; -- (BOOL) hasFillOauthScope; -@property (readonly) RMTPayloadType responseType; -@property (readonly) SInt32 responseSize; -@property (readonly, strong) RMTPayload* payload; -- (BOOL) fillUsername; -- (BOOL) fillOauthScope; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTSimpleRequestBuilder*) builder; -+ (RMTSimpleRequestBuilder*) builder; -+ (RMTSimpleRequestBuilder*) builderWithPrototype:(RMTSimpleRequest*) prototype; -- (RMTSimpleRequestBuilder*) toBuilder; - -+ (RMTSimpleRequest*) parseFromData:(NSData*) data; -+ (RMTSimpleRequest*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTSimpleRequest*) parseFromInputStream:(NSInputStream*) input; -+ (RMTSimpleRequest*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTSimpleRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTSimpleRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTSimpleRequestBuilder : PBGeneratedMessageBuilder { -@private - RMTSimpleRequest* resultSimpleRequest; -} - -- (RMTSimpleRequest*) defaultInstance; - -- (RMTSimpleRequestBuilder*) clear; -- (RMTSimpleRequestBuilder*) clone; - -- (RMTSimpleRequest*) build; -- (RMTSimpleRequest*) buildPartial; - -- (RMTSimpleRequestBuilder*) mergeFrom:(RMTSimpleRequest*) other; -- (RMTSimpleRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTSimpleRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasResponseType; -- (RMTPayloadType) responseType; -- (RMTSimpleRequestBuilder*) setResponseType:(RMTPayloadType) value; -- (RMTSimpleRequestBuilder*) clearResponseType; - -- (BOOL) hasResponseSize; -- (SInt32) responseSize; -- (RMTSimpleRequestBuilder*) setResponseSize:(SInt32) value; -- (RMTSimpleRequestBuilder*) clearResponseSize; - -- (BOOL) hasPayload; -- (RMTPayload*) payload; -- (RMTSimpleRequestBuilder*) setPayload:(RMTPayload*) value; -- (RMTSimpleRequestBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue; -- (RMTSimpleRequestBuilder*) mergePayload:(RMTPayload*) value; -- (RMTSimpleRequestBuilder*) clearPayload; - -- (BOOL) hasFillUsername; -- (BOOL) fillUsername; -- (RMTSimpleRequestBuilder*) setFillUsername:(BOOL) value; -- (RMTSimpleRequestBuilder*) clearFillUsername; - -- (BOOL) hasFillOauthScope; -- (BOOL) fillOauthScope; -- (RMTSimpleRequestBuilder*) setFillOauthScope:(BOOL) value; -- (RMTSimpleRequestBuilder*) clearFillOauthScope; -@end - -@interface RMTSimpleResponse : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasUsername_:1; - BOOL hasOauthScope_:1; - BOOL hasPayload_:1; - NSString* username; - NSString* oauthScope; - RMTPayload* payload; -} -- (BOOL) hasPayload; -- (BOOL) hasUsername; -- (BOOL) hasOauthScope; -@property (readonly, strong) RMTPayload* payload; -@property (readonly, strong) NSString* username; -@property (readonly, strong) NSString* oauthScope; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTSimpleResponseBuilder*) builder; -+ (RMTSimpleResponseBuilder*) builder; -+ (RMTSimpleResponseBuilder*) builderWithPrototype:(RMTSimpleResponse*) prototype; -- (RMTSimpleResponseBuilder*) toBuilder; - -+ (RMTSimpleResponse*) parseFromData:(NSData*) data; -+ (RMTSimpleResponse*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTSimpleResponse*) parseFromInputStream:(NSInputStream*) input; -+ (RMTSimpleResponse*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTSimpleResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTSimpleResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTSimpleResponseBuilder : PBGeneratedMessageBuilder { -@private - RMTSimpleResponse* resultSimpleResponse; -} - -- (RMTSimpleResponse*) defaultInstance; - -- (RMTSimpleResponseBuilder*) clear; -- (RMTSimpleResponseBuilder*) clone; - -- (RMTSimpleResponse*) build; -- (RMTSimpleResponse*) buildPartial; - -- (RMTSimpleResponseBuilder*) mergeFrom:(RMTSimpleResponse*) other; -- (RMTSimpleResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTSimpleResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasPayload; -- (RMTPayload*) payload; -- (RMTSimpleResponseBuilder*) setPayload:(RMTPayload*) value; -- (RMTSimpleResponseBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue; -- (RMTSimpleResponseBuilder*) mergePayload:(RMTPayload*) value; -- (RMTSimpleResponseBuilder*) clearPayload; - -- (BOOL) hasUsername; -- (NSString*) username; -- (RMTSimpleResponseBuilder*) setUsername:(NSString*) value; -- (RMTSimpleResponseBuilder*) clearUsername; - -- (BOOL) hasOauthScope; -- (NSString*) oauthScope; -- (RMTSimpleResponseBuilder*) setOauthScope:(NSString*) value; -- (RMTSimpleResponseBuilder*) clearOauthScope; -@end - -@interface RMTStreamingInputCallRequest : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasPayload_:1; - RMTPayload* payload; -} -- (BOOL) hasPayload; -@property (readonly, strong) RMTPayload* payload; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTStreamingInputCallRequestBuilder*) builder; -+ (RMTStreamingInputCallRequestBuilder*) builder; -+ (RMTStreamingInputCallRequestBuilder*) builderWithPrototype:(RMTStreamingInputCallRequest*) prototype; -- (RMTStreamingInputCallRequestBuilder*) toBuilder; - -+ (RMTStreamingInputCallRequest*) parseFromData:(NSData*) data; -+ (RMTStreamingInputCallRequest*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingInputCallRequest*) parseFromInputStream:(NSInputStream*) input; -+ (RMTStreamingInputCallRequest*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingInputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTStreamingInputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTStreamingInputCallRequestBuilder : PBGeneratedMessageBuilder { -@private - RMTStreamingInputCallRequest* resultStreamingInputCallRequest; -} - -- (RMTStreamingInputCallRequest*) defaultInstance; - -- (RMTStreamingInputCallRequestBuilder*) clear; -- (RMTStreamingInputCallRequestBuilder*) clone; - -- (RMTStreamingInputCallRequest*) build; -- (RMTStreamingInputCallRequest*) buildPartial; - -- (RMTStreamingInputCallRequestBuilder*) mergeFrom:(RMTStreamingInputCallRequest*) other; -- (RMTStreamingInputCallRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTStreamingInputCallRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasPayload; -- (RMTPayload*) payload; -- (RMTStreamingInputCallRequestBuilder*) setPayload:(RMTPayload*) value; -- (RMTStreamingInputCallRequestBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue; -- (RMTStreamingInputCallRequestBuilder*) mergePayload:(RMTPayload*) value; -- (RMTStreamingInputCallRequestBuilder*) clearPayload; -@end - -@interface RMTStreamingInputCallResponse : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasAggregatedPayloadSize_:1; - SInt32 aggregatedPayloadSize; -} -- (BOOL) hasAggregatedPayloadSize; -@property (readonly) SInt32 aggregatedPayloadSize; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTStreamingInputCallResponseBuilder*) builder; -+ (RMTStreamingInputCallResponseBuilder*) builder; -+ (RMTStreamingInputCallResponseBuilder*) builderWithPrototype:(RMTStreamingInputCallResponse*) prototype; -- (RMTStreamingInputCallResponseBuilder*) toBuilder; - -+ (RMTStreamingInputCallResponse*) parseFromData:(NSData*) data; -+ (RMTStreamingInputCallResponse*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingInputCallResponse*) parseFromInputStream:(NSInputStream*) input; -+ (RMTStreamingInputCallResponse*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingInputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTStreamingInputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTStreamingInputCallResponseBuilder : PBGeneratedMessageBuilder { -@private - RMTStreamingInputCallResponse* resultStreamingInputCallResponse; -} - -- (RMTStreamingInputCallResponse*) defaultInstance; - -- (RMTStreamingInputCallResponseBuilder*) clear; -- (RMTStreamingInputCallResponseBuilder*) clone; - -- (RMTStreamingInputCallResponse*) build; -- (RMTStreamingInputCallResponse*) buildPartial; - -- (RMTStreamingInputCallResponseBuilder*) mergeFrom:(RMTStreamingInputCallResponse*) other; -- (RMTStreamingInputCallResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTStreamingInputCallResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasAggregatedPayloadSize; -- (SInt32) aggregatedPayloadSize; -- (RMTStreamingInputCallResponseBuilder*) setAggregatedPayloadSize:(SInt32) value; -- (RMTStreamingInputCallResponseBuilder*) clearAggregatedPayloadSize; -@end - -@interface RMTResponseParameters : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasSize_:1; - BOOL hasIntervalUs_:1; - SInt32 size; - SInt32 intervalUs; -} -- (BOOL) hasSize; -- (BOOL) hasIntervalUs; -@property (readonly) SInt32 size; -@property (readonly) SInt32 intervalUs; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTResponseParametersBuilder*) builder; -+ (RMTResponseParametersBuilder*) builder; -+ (RMTResponseParametersBuilder*) builderWithPrototype:(RMTResponseParameters*) prototype; -- (RMTResponseParametersBuilder*) toBuilder; - -+ (RMTResponseParameters*) parseFromData:(NSData*) data; -+ (RMTResponseParameters*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTResponseParameters*) parseFromInputStream:(NSInputStream*) input; -+ (RMTResponseParameters*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTResponseParameters*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTResponseParameters*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTResponseParametersBuilder : PBGeneratedMessageBuilder { -@private - RMTResponseParameters* resultResponseParameters; -} - -- (RMTResponseParameters*) defaultInstance; - -- (RMTResponseParametersBuilder*) clear; -- (RMTResponseParametersBuilder*) clone; - -- (RMTResponseParameters*) build; -- (RMTResponseParameters*) buildPartial; - -- (RMTResponseParametersBuilder*) mergeFrom:(RMTResponseParameters*) other; -- (RMTResponseParametersBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTResponseParametersBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasSize; -- (SInt32) size; -- (RMTResponseParametersBuilder*) setSize:(SInt32) value; -- (RMTResponseParametersBuilder*) clearSize; - -- (BOOL) hasIntervalUs; -- (SInt32) intervalUs; -- (RMTResponseParametersBuilder*) setIntervalUs:(SInt32) value; -- (RMTResponseParametersBuilder*) clearIntervalUs; -@end - -@interface RMTStreamingOutputCallRequest : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasPayload_:1; - BOOL hasResponseType_:1; - RMTPayload* payload; - RMTPayloadType responseType; - NSMutableArray * responseParametersArray; -} -- (BOOL) hasResponseType; -- (BOOL) hasPayload; -@property (readonly) RMTPayloadType responseType; -@property (readonly, strong) NSArray * responseParameters; -@property (readonly, strong) RMTPayload* payload; -- (RMTResponseParameters*)responseParametersAtIndex:(NSUInteger)index; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTStreamingOutputCallRequestBuilder*) builder; -+ (RMTStreamingOutputCallRequestBuilder*) builder; -+ (RMTStreamingOutputCallRequestBuilder*) builderWithPrototype:(RMTStreamingOutputCallRequest*) prototype; -- (RMTStreamingOutputCallRequestBuilder*) toBuilder; - -+ (RMTStreamingOutputCallRequest*) parseFromData:(NSData*) data; -+ (RMTStreamingOutputCallRequest*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingOutputCallRequest*) parseFromInputStream:(NSInputStream*) input; -+ (RMTStreamingOutputCallRequest*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingOutputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTStreamingOutputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTStreamingOutputCallRequestBuilder : PBGeneratedMessageBuilder { -@private - RMTStreamingOutputCallRequest* resultStreamingOutputCallRequest; -} - -- (RMTStreamingOutputCallRequest*) defaultInstance; - -- (RMTStreamingOutputCallRequestBuilder*) clear; -- (RMTStreamingOutputCallRequestBuilder*) clone; - -- (RMTStreamingOutputCallRequest*) build; -- (RMTStreamingOutputCallRequest*) buildPartial; - -- (RMTStreamingOutputCallRequestBuilder*) mergeFrom:(RMTStreamingOutputCallRequest*) other; -- (RMTStreamingOutputCallRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTStreamingOutputCallRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasResponseType; -- (RMTPayloadType) responseType; -- (RMTStreamingOutputCallRequestBuilder*) setResponseType:(RMTPayloadType) value; -- (RMTStreamingOutputCallRequestBuilder*) clearResponseType; - -- (NSMutableArray *)responseParameters; -- (RMTResponseParameters*)responseParametersAtIndex:(NSUInteger)index; -- (RMTStreamingOutputCallRequestBuilder *)addResponseParameters:(RMTResponseParameters*)value; -- (RMTStreamingOutputCallRequestBuilder *)setResponseParametersArray:(NSArray *)array; -- (RMTStreamingOutputCallRequestBuilder *)clearResponseParameters; - -- (BOOL) hasPayload; -- (RMTPayload*) payload; -- (RMTStreamingOutputCallRequestBuilder*) setPayload:(RMTPayload*) value; -- (RMTStreamingOutputCallRequestBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue; -- (RMTStreamingOutputCallRequestBuilder*) mergePayload:(RMTPayload*) value; -- (RMTStreamingOutputCallRequestBuilder*) clearPayload; -@end - -@interface RMTStreamingOutputCallResponse : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasPayload_:1; - RMTPayload* payload; -} -- (BOOL) hasPayload; -@property (readonly, strong) RMTPayload* payload; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RMTStreamingOutputCallResponseBuilder*) builder; -+ (RMTStreamingOutputCallResponseBuilder*) builder; -+ (RMTStreamingOutputCallResponseBuilder*) builderWithPrototype:(RMTStreamingOutputCallResponse*) prototype; -- (RMTStreamingOutputCallResponseBuilder*) toBuilder; - -+ (RMTStreamingOutputCallResponse*) parseFromData:(NSData*) data; -+ (RMTStreamingOutputCallResponse*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingOutputCallResponse*) parseFromInputStream:(NSInputStream*) input; -+ (RMTStreamingOutputCallResponse*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RMTStreamingOutputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RMTStreamingOutputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RMTStreamingOutputCallResponseBuilder : PBGeneratedMessageBuilder { -@private - RMTStreamingOutputCallResponse* resultStreamingOutputCallResponse; -} - -- (RMTStreamingOutputCallResponse*) defaultInstance; - -- (RMTStreamingOutputCallResponseBuilder*) clear; -- (RMTStreamingOutputCallResponseBuilder*) clone; - -- (RMTStreamingOutputCallResponse*) build; -- (RMTStreamingOutputCallResponse*) buildPartial; - -- (RMTStreamingOutputCallResponseBuilder*) mergeFrom:(RMTStreamingOutputCallResponse*) other; -- (RMTStreamingOutputCallResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RMTStreamingOutputCallResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasPayload; -- (RMTPayload*) payload; -- (RMTStreamingOutputCallResponseBuilder*) setPayload:(RMTPayload*) value; -- (RMTStreamingOutputCallResponseBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue; -- (RMTStreamingOutputCallResponseBuilder*) mergePayload:(RMTPayload*) value; -- (RMTStreamingOutputCallResponseBuilder*) clearPayload; -@end - - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.m b/src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.m deleted file mode 100644 index fbad1a9c09..0000000000 --- a/src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.m +++ /dev/null @@ -1,2256 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import "Messages.pb.h" -// @@protoc_insertion_point(imports) - -@implementation RMTMessagesRoot -static PBExtensionRegistry* extensionRegistry = nil; -+ (PBExtensionRegistry*) extensionRegistry { - return extensionRegistry; -} - -+ (void) initialize { - if (self == [RMTMessagesRoot class]) { - PBMutableExtensionRegistry* registry = [PBMutableExtensionRegistry registry]; - [self registerAllExtensions:registry]; - [ObjectivecDescriptorRoot registerAllExtensions:registry]; - extensionRegistry = registry; - } -} -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry { -} -@end - -BOOL RMTPayloadTypeIsValidValue(RMTPayloadType value) { - switch (value) { - case RMTPayloadTypeCompressable: - case RMTPayloadTypeUncompressable: - case RMTPayloadTypeRandom: - return YES; - default: - return NO; - } -} -NSString *NSStringFromRMTPayloadType(RMTPayloadType value) { - switch (value) { - case RMTPayloadTypeCompressable: - return @"RMTPayloadTypeCompressable"; - case RMTPayloadTypeUncompressable: - return @"RMTPayloadTypeUncompressable"; - case RMTPayloadTypeRandom: - return @"RMTPayloadTypeRandom"; - default: - return nil; - } -} - -@interface RMTPayload () -@property RMTPayloadType type; -@property (strong) NSData* body; -@end - -@implementation RMTPayload - -- (BOOL) hasType { - return !!hasType_; -} -- (void) setHasType:(BOOL) _value_ { - hasType_ = !!_value_; -} -@synthesize type; -- (BOOL) hasBody { - return !!hasBody_; -} -- (void) setHasBody:(BOOL) _value_ { - hasBody_ = !!_value_; -} -@synthesize body; -- (instancetype) init { - if ((self = [super init])) { - self.type = RMTPayloadTypeCompressable; - self.body = [NSData data]; - } - return self; -} -static RMTPayload* defaultRMTPayloadInstance = nil; -+ (void) initialize { - if (self == [RMTPayload class]) { - defaultRMTPayloadInstance = [[RMTPayload alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTPayloadInstance; -} -- (instancetype) defaultInstance { - return defaultRMTPayloadInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasType) { - [output writeEnum:1 value:self.type]; - } - if (self.hasBody) { - [output writeData:2 value:self.body]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasType) { - size_ += computeEnumSize(1, self.type); - } - if (self.hasBody) { - size_ += computeDataSize(2, self.body); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTPayload*) parseFromData:(NSData*) data { - return (RMTPayload*)[[[RMTPayload builder] mergeFromData:data] build]; -} -+ (RMTPayload*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTPayload*)[[[RMTPayload builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTPayload*) parseFromInputStream:(NSInputStream*) input { - return (RMTPayload*)[[[RMTPayload builder] mergeFromInputStream:input] build]; -} -+ (RMTPayload*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTPayload*)[[[RMTPayload builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTPayload*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTPayload*)[[[RMTPayload builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTPayload*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTPayload*)[[[RMTPayload builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTPayloadBuilder*) builder { - return [[RMTPayloadBuilder alloc] init]; -} -+ (RMTPayloadBuilder*) builderWithPrototype:(RMTPayload*) prototype { - return [[RMTPayload builder] mergeFrom:prototype]; -} -- (RMTPayloadBuilder*) builder { - return [RMTPayload builder]; -} -- (RMTPayloadBuilder*) toBuilder { - return [RMTPayload builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasType) { - [output appendFormat:@"%@%@: %@\n", indent, @"type", NSStringFromRMTPayloadType(self.type)]; - } - if (self.hasBody) { - [output appendFormat:@"%@%@: %@\n", indent, @"body", self.body]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTPayload class]]) { - return NO; - } - RMTPayload *otherMessage = other; - return - self.hasType == otherMessage.hasType && - (!self.hasType || self.type == otherMessage.type) && - self.hasBody == otherMessage.hasBody && - (!self.hasBody || [self.body isEqual:otherMessage.body]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasType) { - hashCode = hashCode * 31 + self.type; - } - if (self.hasBody) { - hashCode = hashCode * 31 + [self.body hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTPayloadBuilder() -@property (strong) RMTPayload* resultPayload; -@end - -@implementation RMTPayloadBuilder -@synthesize resultPayload; -- (instancetype) init { - if ((self = [super init])) { - self.resultPayload = [[RMTPayload alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultPayload; -} -- (RMTPayloadBuilder*) clear { - self.resultPayload = [[RMTPayload alloc] init]; - return self; -} -- (RMTPayloadBuilder*) clone { - return [RMTPayload builderWithPrototype:resultPayload]; -} -- (RMTPayload*) defaultInstance { - return [RMTPayload defaultInstance]; -} -- (RMTPayload*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTPayload*) buildPartial { - RMTPayload* returnMe = resultPayload; - self.resultPayload = nil; - return returnMe; -} -- (RMTPayloadBuilder*) mergeFrom:(RMTPayload*) other { - if (other == [RMTPayload defaultInstance]) { - return self; - } - if (other.hasType) { - [self setType:other.type]; - } - if (other.hasBody) { - [self setBody:other.body]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTPayloadBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTPayloadBuilder*) 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: { - RMTPayloadType value = (RMTPayloadType)[input readEnum]; - if (RMTPayloadTypeIsValidValue(value)) { - [self setType:value]; - } else { - [unknownFields mergeVarintField:1 value:value]; - } - break; - } - case 18: { - [self setBody:[input readData]]; - break; - } - } - } -} -- (BOOL) hasType { - return resultPayload.hasType; -} -- (RMTPayloadType) type { - return resultPayload.type; -} -- (RMTPayloadBuilder*) setType:(RMTPayloadType) value { - resultPayload.hasType = YES; - resultPayload.type = value; - return self; -} -- (RMTPayloadBuilder*) clearType { - resultPayload.hasType = NO; - resultPayload.type = RMTPayloadTypeCompressable; - return self; -} -- (BOOL) hasBody { - return resultPayload.hasBody; -} -- (NSData*) body { - return resultPayload.body; -} -- (RMTPayloadBuilder*) setBody:(NSData*) value { - resultPayload.hasBody = YES; - resultPayload.body = value; - return self; -} -- (RMTPayloadBuilder*) clearBody { - resultPayload.hasBody = NO; - resultPayload.body = [NSData data]; - return self; -} -@end - -@interface RMTSimpleRequest () -@property RMTPayloadType responseType; -@property SInt32 responseSize; -@property (strong) RMTPayload* payload; -@property BOOL fillUsername; -@property BOOL fillOauthScope; -@end - -@implementation RMTSimpleRequest - -- (BOOL) hasResponseType { - return !!hasResponseType_; -} -- (void) setHasResponseType:(BOOL) _value_ { - hasResponseType_ = !!_value_; -} -@synthesize responseType; -- (BOOL) hasResponseSize { - return !!hasResponseSize_; -} -- (void) setHasResponseSize:(BOOL) _value_ { - hasResponseSize_ = !!_value_; -} -@synthesize responseSize; -- (BOOL) hasPayload { - return !!hasPayload_; -} -- (void) setHasPayload:(BOOL) _value_ { - hasPayload_ = !!_value_; -} -@synthesize payload; -- (BOOL) hasFillUsername { - return !!hasFillUsername_; -} -- (void) setHasFillUsername:(BOOL) _value_ { - hasFillUsername_ = !!_value_; -} -- (BOOL) fillUsername { - return !!fillUsername_; -} -- (void) setFillUsername:(BOOL) _value_ { - fillUsername_ = !!_value_; -} -- (BOOL) hasFillOauthScope { - return !!hasFillOauthScope_; -} -- (void) setHasFillOauthScope:(BOOL) _value_ { - hasFillOauthScope_ = !!_value_; -} -- (BOOL) fillOauthScope { - return !!fillOauthScope_; -} -- (void) setFillOauthScope:(BOOL) _value_ { - fillOauthScope_ = !!_value_; -} -- (instancetype) init { - if ((self = [super init])) { - self.responseType = RMTPayloadTypeCompressable; - self.responseSize = 0; - self.payload = [RMTPayload defaultInstance]; - self.fillUsername = NO; - self.fillOauthScope = NO; - } - return self; -} -static RMTSimpleRequest* defaultRMTSimpleRequestInstance = nil; -+ (void) initialize { - if (self == [RMTSimpleRequest class]) { - defaultRMTSimpleRequestInstance = [[RMTSimpleRequest alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTSimpleRequestInstance; -} -- (instancetype) defaultInstance { - return defaultRMTSimpleRequestInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasResponseType) { - [output writeEnum:1 value:self.responseType]; - } - if (self.hasResponseSize) { - [output writeInt32:2 value:self.responseSize]; - } - if (self.hasPayload) { - [output writeMessage:3 value:self.payload]; - } - if (self.hasFillUsername) { - [output writeBool:4 value:self.fillUsername]; - } - if (self.hasFillOauthScope) { - [output writeBool:5 value:self.fillOauthScope]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasResponseType) { - size_ += computeEnumSize(1, self.responseType); - } - if (self.hasResponseSize) { - size_ += computeInt32Size(2, self.responseSize); - } - if (self.hasPayload) { - size_ += computeMessageSize(3, self.payload); - } - if (self.hasFillUsername) { - size_ += computeBoolSize(4, self.fillUsername); - } - if (self.hasFillOauthScope) { - size_ += computeBoolSize(5, self.fillOauthScope); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTSimpleRequest*) parseFromData:(NSData*) data { - return (RMTSimpleRequest*)[[[RMTSimpleRequest builder] mergeFromData:data] build]; -} -+ (RMTSimpleRequest*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTSimpleRequest*)[[[RMTSimpleRequest builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTSimpleRequest*) parseFromInputStream:(NSInputStream*) input { - return (RMTSimpleRequest*)[[[RMTSimpleRequest builder] mergeFromInputStream:input] build]; -} -+ (RMTSimpleRequest*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTSimpleRequest*)[[[RMTSimpleRequest builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTSimpleRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTSimpleRequest*)[[[RMTSimpleRequest builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTSimpleRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTSimpleRequest*)[[[RMTSimpleRequest builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTSimpleRequestBuilder*) builder { - return [[RMTSimpleRequestBuilder alloc] init]; -} -+ (RMTSimpleRequestBuilder*) builderWithPrototype:(RMTSimpleRequest*) prototype { - return [[RMTSimpleRequest builder] mergeFrom:prototype]; -} -- (RMTSimpleRequestBuilder*) builder { - return [RMTSimpleRequest builder]; -} -- (RMTSimpleRequestBuilder*) toBuilder { - return [RMTSimpleRequest builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasResponseType) { - [output appendFormat:@"%@%@: %@\n", indent, @"responseType", NSStringFromRMTPayloadType(self.responseType)]; - } - if (self.hasResponseSize) { - [output appendFormat:@"%@%@: %@\n", indent, @"responseSize", [NSNumber numberWithInteger:self.responseSize]]; - } - if (self.hasPayload) { - [output appendFormat:@"%@%@ {\n", indent, @"payload"]; - [self.payload writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - if (self.hasFillUsername) { - [output appendFormat:@"%@%@: %@\n", indent, @"fillUsername", [NSNumber numberWithBool:self.fillUsername]]; - } - if (self.hasFillOauthScope) { - [output appendFormat:@"%@%@: %@\n", indent, @"fillOauthScope", [NSNumber numberWithBool:self.fillOauthScope]]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTSimpleRequest class]]) { - return NO; - } - RMTSimpleRequest *otherMessage = other; - return - self.hasResponseType == otherMessage.hasResponseType && - (!self.hasResponseType || self.responseType == otherMessage.responseType) && - self.hasResponseSize == otherMessage.hasResponseSize && - (!self.hasResponseSize || self.responseSize == otherMessage.responseSize) && - self.hasPayload == otherMessage.hasPayload && - (!self.hasPayload || [self.payload isEqual:otherMessage.payload]) && - self.hasFillUsername == otherMessage.hasFillUsername && - (!self.hasFillUsername || self.fillUsername == otherMessage.fillUsername) && - self.hasFillOauthScope == otherMessage.hasFillOauthScope && - (!self.hasFillOauthScope || self.fillOauthScope == otherMessage.fillOauthScope) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasResponseType) { - hashCode = hashCode * 31 + self.responseType; - } - if (self.hasResponseSize) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.responseSize] hash]; - } - if (self.hasPayload) { - hashCode = hashCode * 31 + [self.payload hash]; - } - if (self.hasFillUsername) { - hashCode = hashCode * 31 + [[NSNumber numberWithBool:self.fillUsername] hash]; - } - if (self.hasFillOauthScope) { - hashCode = hashCode * 31 + [[NSNumber numberWithBool:self.fillOauthScope] hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTSimpleRequestBuilder() -@property (strong) RMTSimpleRequest* resultSimpleRequest; -@end - -@implementation RMTSimpleRequestBuilder -@synthesize resultSimpleRequest; -- (instancetype) init { - if ((self = [super init])) { - self.resultSimpleRequest = [[RMTSimpleRequest alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultSimpleRequest; -} -- (RMTSimpleRequestBuilder*) clear { - self.resultSimpleRequest = [[RMTSimpleRequest alloc] init]; - return self; -} -- (RMTSimpleRequestBuilder*) clone { - return [RMTSimpleRequest builderWithPrototype:resultSimpleRequest]; -} -- (RMTSimpleRequest*) defaultInstance { - return [RMTSimpleRequest defaultInstance]; -} -- (RMTSimpleRequest*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTSimpleRequest*) buildPartial { - RMTSimpleRequest* returnMe = resultSimpleRequest; - self.resultSimpleRequest = nil; - return returnMe; -} -- (RMTSimpleRequestBuilder*) mergeFrom:(RMTSimpleRequest*) other { - if (other == [RMTSimpleRequest defaultInstance]) { - return self; - } - if (other.hasResponseType) { - [self setResponseType:other.responseType]; - } - if (other.hasResponseSize) { - [self setResponseSize:other.responseSize]; - } - if (other.hasPayload) { - [self mergePayload:other.payload]; - } - if (other.hasFillUsername) { - [self setFillUsername:other.fillUsername]; - } - if (other.hasFillOauthScope) { - [self setFillOauthScope:other.fillOauthScope]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTSimpleRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTSimpleRequestBuilder*) 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: { - RMTPayloadType value = (RMTPayloadType)[input readEnum]; - if (RMTPayloadTypeIsValidValue(value)) { - [self setResponseType:value]; - } else { - [unknownFields mergeVarintField:1 value:value]; - } - break; - } - case 16: { - [self setResponseSize:[input readInt32]]; - break; - } - case 26: { - RMTPayloadBuilder* subBuilder = [RMTPayload builder]; - if (self.hasPayload) { - [subBuilder mergeFrom:self.payload]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setPayload:[subBuilder buildPartial]]; - break; - } - case 32: { - [self setFillUsername:[input readBool]]; - break; - } - case 40: { - [self setFillOauthScope:[input readBool]]; - break; - } - } - } -} -- (BOOL) hasResponseType { - return resultSimpleRequest.hasResponseType; -} -- (RMTPayloadType) responseType { - return resultSimpleRequest.responseType; -} -- (RMTSimpleRequestBuilder*) setResponseType:(RMTPayloadType) value { - resultSimpleRequest.hasResponseType = YES; - resultSimpleRequest.responseType = value; - return self; -} -- (RMTSimpleRequestBuilder*) clearResponseType { - resultSimpleRequest.hasResponseType = NO; - resultSimpleRequest.responseType = RMTPayloadTypeCompressable; - return self; -} -- (BOOL) hasResponseSize { - return resultSimpleRequest.hasResponseSize; -} -- (SInt32) responseSize { - return resultSimpleRequest.responseSize; -} -- (RMTSimpleRequestBuilder*) setResponseSize:(SInt32) value { - resultSimpleRequest.hasResponseSize = YES; - resultSimpleRequest.responseSize = value; - return self; -} -- (RMTSimpleRequestBuilder*) clearResponseSize { - resultSimpleRequest.hasResponseSize = NO; - resultSimpleRequest.responseSize = 0; - return self; -} -- (BOOL) hasPayload { - return resultSimpleRequest.hasPayload; -} -- (RMTPayload*) payload { - return resultSimpleRequest.payload; -} -- (RMTSimpleRequestBuilder*) setPayload:(RMTPayload*) value { - resultSimpleRequest.hasPayload = YES; - resultSimpleRequest.payload = value; - return self; -} -- (RMTSimpleRequestBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue { - return [self setPayload:[builderForValue build]]; -} -- (RMTSimpleRequestBuilder*) mergePayload:(RMTPayload*) value { - if (resultSimpleRequest.hasPayload && - resultSimpleRequest.payload != [RMTPayload defaultInstance]) { - resultSimpleRequest.payload = - [[[RMTPayload builderWithPrototype:resultSimpleRequest.payload] mergeFrom:value] buildPartial]; - } else { - resultSimpleRequest.payload = value; - } - resultSimpleRequest.hasPayload = YES; - return self; -} -- (RMTSimpleRequestBuilder*) clearPayload { - resultSimpleRequest.hasPayload = NO; - resultSimpleRequest.payload = [RMTPayload defaultInstance]; - return self; -} -- (BOOL) hasFillUsername { - return resultSimpleRequest.hasFillUsername; -} -- (BOOL) fillUsername { - return resultSimpleRequest.fillUsername; -} -- (RMTSimpleRequestBuilder*) setFillUsername:(BOOL) value { - resultSimpleRequest.hasFillUsername = YES; - resultSimpleRequest.fillUsername = value; - return self; -} -- (RMTSimpleRequestBuilder*) clearFillUsername { - resultSimpleRequest.hasFillUsername = NO; - resultSimpleRequest.fillUsername = NO; - return self; -} -- (BOOL) hasFillOauthScope { - return resultSimpleRequest.hasFillOauthScope; -} -- (BOOL) fillOauthScope { - return resultSimpleRequest.fillOauthScope; -} -- (RMTSimpleRequestBuilder*) setFillOauthScope:(BOOL) value { - resultSimpleRequest.hasFillOauthScope = YES; - resultSimpleRequest.fillOauthScope = value; - return self; -} -- (RMTSimpleRequestBuilder*) clearFillOauthScope { - resultSimpleRequest.hasFillOauthScope = NO; - resultSimpleRequest.fillOauthScope = NO; - return self; -} -@end - -@interface RMTSimpleResponse () -@property (strong) RMTPayload* payload; -@property (strong) NSString* username; -@property (strong) NSString* oauthScope; -@end - -@implementation RMTSimpleResponse - -- (BOOL) hasPayload { - return !!hasPayload_; -} -- (void) setHasPayload:(BOOL) _value_ { - hasPayload_ = !!_value_; -} -@synthesize payload; -- (BOOL) hasUsername { - return !!hasUsername_; -} -- (void) setHasUsername:(BOOL) _value_ { - hasUsername_ = !!_value_; -} -@synthesize username; -- (BOOL) hasOauthScope { - return !!hasOauthScope_; -} -- (void) setHasOauthScope:(BOOL) _value_ { - hasOauthScope_ = !!_value_; -} -@synthesize oauthScope; -- (instancetype) init { - if ((self = [super init])) { - self.payload = [RMTPayload defaultInstance]; - self.username = @""; - self.oauthScope = @""; - } - return self; -} -static RMTSimpleResponse* defaultRMTSimpleResponseInstance = nil; -+ (void) initialize { - if (self == [RMTSimpleResponse class]) { - defaultRMTSimpleResponseInstance = [[RMTSimpleResponse alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTSimpleResponseInstance; -} -- (instancetype) defaultInstance { - return defaultRMTSimpleResponseInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasPayload) { - [output writeMessage:1 value:self.payload]; - } - if (self.hasUsername) { - [output writeString:2 value:self.username]; - } - if (self.hasOauthScope) { - [output writeString:3 value:self.oauthScope]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasPayload) { - size_ += computeMessageSize(1, self.payload); - } - if (self.hasUsername) { - size_ += computeStringSize(2, self.username); - } - if (self.hasOauthScope) { - size_ += computeStringSize(3, self.oauthScope); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTSimpleResponse*) parseFromData:(NSData*) data { - return (RMTSimpleResponse*)[[[RMTSimpleResponse builder] mergeFromData:data] build]; -} -+ (RMTSimpleResponse*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTSimpleResponse*)[[[RMTSimpleResponse builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTSimpleResponse*) parseFromInputStream:(NSInputStream*) input { - return (RMTSimpleResponse*)[[[RMTSimpleResponse builder] mergeFromInputStream:input] build]; -} -+ (RMTSimpleResponse*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTSimpleResponse*)[[[RMTSimpleResponse builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTSimpleResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTSimpleResponse*)[[[RMTSimpleResponse builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTSimpleResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTSimpleResponse*)[[[RMTSimpleResponse builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTSimpleResponseBuilder*) builder { - return [[RMTSimpleResponseBuilder alloc] init]; -} -+ (RMTSimpleResponseBuilder*) builderWithPrototype:(RMTSimpleResponse*) prototype { - return [[RMTSimpleResponse builder] mergeFrom:prototype]; -} -- (RMTSimpleResponseBuilder*) builder { - return [RMTSimpleResponse builder]; -} -- (RMTSimpleResponseBuilder*) toBuilder { - return [RMTSimpleResponse builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasPayload) { - [output appendFormat:@"%@%@ {\n", indent, @"payload"]; - [self.payload writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - if (self.hasUsername) { - [output appendFormat:@"%@%@: %@\n", indent, @"username", self.username]; - } - if (self.hasOauthScope) { - [output appendFormat:@"%@%@: %@\n", indent, @"oauthScope", self.oauthScope]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTSimpleResponse class]]) { - return NO; - } - RMTSimpleResponse *otherMessage = other; - return - self.hasPayload == otherMessage.hasPayload && - (!self.hasPayload || [self.payload isEqual:otherMessage.payload]) && - self.hasUsername == otherMessage.hasUsername && - (!self.hasUsername || [self.username isEqual:otherMessage.username]) && - self.hasOauthScope == otherMessage.hasOauthScope && - (!self.hasOauthScope || [self.oauthScope isEqual:otherMessage.oauthScope]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasPayload) { - hashCode = hashCode * 31 + [self.payload hash]; - } - if (self.hasUsername) { - hashCode = hashCode * 31 + [self.username hash]; - } - if (self.hasOauthScope) { - hashCode = hashCode * 31 + [self.oauthScope hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTSimpleResponseBuilder() -@property (strong) RMTSimpleResponse* resultSimpleResponse; -@end - -@implementation RMTSimpleResponseBuilder -@synthesize resultSimpleResponse; -- (instancetype) init { - if ((self = [super init])) { - self.resultSimpleResponse = [[RMTSimpleResponse alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultSimpleResponse; -} -- (RMTSimpleResponseBuilder*) clear { - self.resultSimpleResponse = [[RMTSimpleResponse alloc] init]; - return self; -} -- (RMTSimpleResponseBuilder*) clone { - return [RMTSimpleResponse builderWithPrototype:resultSimpleResponse]; -} -- (RMTSimpleResponse*) defaultInstance { - return [RMTSimpleResponse defaultInstance]; -} -- (RMTSimpleResponse*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTSimpleResponse*) buildPartial { - RMTSimpleResponse* returnMe = resultSimpleResponse; - self.resultSimpleResponse = nil; - return returnMe; -} -- (RMTSimpleResponseBuilder*) mergeFrom:(RMTSimpleResponse*) other { - if (other == [RMTSimpleResponse defaultInstance]) { - return self; - } - if (other.hasPayload) { - [self mergePayload:other.payload]; - } - if (other.hasUsername) { - [self setUsername:other.username]; - } - if (other.hasOauthScope) { - [self setOauthScope:other.oauthScope]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTSimpleResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTSimpleResponseBuilder*) 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: { - RMTPayloadBuilder* subBuilder = [RMTPayload builder]; - if (self.hasPayload) { - [subBuilder mergeFrom:self.payload]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setPayload:[subBuilder buildPartial]]; - break; - } - case 18: { - [self setUsername:[input readString]]; - break; - } - case 26: { - [self setOauthScope:[input readString]]; - break; - } - } - } -} -- (BOOL) hasPayload { - return resultSimpleResponse.hasPayload; -} -- (RMTPayload*) payload { - return resultSimpleResponse.payload; -} -- (RMTSimpleResponseBuilder*) setPayload:(RMTPayload*) value { - resultSimpleResponse.hasPayload = YES; - resultSimpleResponse.payload = value; - return self; -} -- (RMTSimpleResponseBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue { - return [self setPayload:[builderForValue build]]; -} -- (RMTSimpleResponseBuilder*) mergePayload:(RMTPayload*) value { - if (resultSimpleResponse.hasPayload && - resultSimpleResponse.payload != [RMTPayload defaultInstance]) { - resultSimpleResponse.payload = - [[[RMTPayload builderWithPrototype:resultSimpleResponse.payload] mergeFrom:value] buildPartial]; - } else { - resultSimpleResponse.payload = value; - } - resultSimpleResponse.hasPayload = YES; - return self; -} -- (RMTSimpleResponseBuilder*) clearPayload { - resultSimpleResponse.hasPayload = NO; - resultSimpleResponse.payload = [RMTPayload defaultInstance]; - return self; -} -- (BOOL) hasUsername { - return resultSimpleResponse.hasUsername; -} -- (NSString*) username { - return resultSimpleResponse.username; -} -- (RMTSimpleResponseBuilder*) setUsername:(NSString*) value { - resultSimpleResponse.hasUsername = YES; - resultSimpleResponse.username = value; - return self; -} -- (RMTSimpleResponseBuilder*) clearUsername { - resultSimpleResponse.hasUsername = NO; - resultSimpleResponse.username = @""; - return self; -} -- (BOOL) hasOauthScope { - return resultSimpleResponse.hasOauthScope; -} -- (NSString*) oauthScope { - return resultSimpleResponse.oauthScope; -} -- (RMTSimpleResponseBuilder*) setOauthScope:(NSString*) value { - resultSimpleResponse.hasOauthScope = YES; - resultSimpleResponse.oauthScope = value; - return self; -} -- (RMTSimpleResponseBuilder*) clearOauthScope { - resultSimpleResponse.hasOauthScope = NO; - resultSimpleResponse.oauthScope = @""; - return self; -} -@end - -@interface RMTStreamingInputCallRequest () -@property (strong) RMTPayload* payload; -@end - -@implementation RMTStreamingInputCallRequest - -- (BOOL) hasPayload { - return !!hasPayload_; -} -- (void) setHasPayload:(BOOL) _value_ { - hasPayload_ = !!_value_; -} -@synthesize payload; -- (instancetype) init { - if ((self = [super init])) { - self.payload = [RMTPayload defaultInstance]; - } - return self; -} -static RMTStreamingInputCallRequest* defaultRMTStreamingInputCallRequestInstance = nil; -+ (void) initialize { - if (self == [RMTStreamingInputCallRequest class]) { - defaultRMTStreamingInputCallRequestInstance = [[RMTStreamingInputCallRequest alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTStreamingInputCallRequestInstance; -} -- (instancetype) defaultInstance { - return defaultRMTStreamingInputCallRequestInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasPayload) { - [output writeMessage:1 value:self.payload]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasPayload) { - size_ += computeMessageSize(1, self.payload); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTStreamingInputCallRequest*) parseFromData:(NSData*) data { - return (RMTStreamingInputCallRequest*)[[[RMTStreamingInputCallRequest builder] mergeFromData:data] build]; -} -+ (RMTStreamingInputCallRequest*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingInputCallRequest*)[[[RMTStreamingInputCallRequest builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingInputCallRequest*) parseFromInputStream:(NSInputStream*) input { - return (RMTStreamingInputCallRequest*)[[[RMTStreamingInputCallRequest builder] mergeFromInputStream:input] build]; -} -+ (RMTStreamingInputCallRequest*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingInputCallRequest*)[[[RMTStreamingInputCallRequest builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingInputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTStreamingInputCallRequest*)[[[RMTStreamingInputCallRequest builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTStreamingInputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingInputCallRequest*)[[[RMTStreamingInputCallRequest builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingInputCallRequestBuilder*) builder { - return [[RMTStreamingInputCallRequestBuilder alloc] init]; -} -+ (RMTStreamingInputCallRequestBuilder*) builderWithPrototype:(RMTStreamingInputCallRequest*) prototype { - return [[RMTStreamingInputCallRequest builder] mergeFrom:prototype]; -} -- (RMTStreamingInputCallRequestBuilder*) builder { - return [RMTStreamingInputCallRequest builder]; -} -- (RMTStreamingInputCallRequestBuilder*) toBuilder { - return [RMTStreamingInputCallRequest builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasPayload) { - [output appendFormat:@"%@%@ {\n", indent, @"payload"]; - [self.payload writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTStreamingInputCallRequest class]]) { - return NO; - } - RMTStreamingInputCallRequest *otherMessage = other; - return - self.hasPayload == otherMessage.hasPayload && - (!self.hasPayload || [self.payload isEqual:otherMessage.payload]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasPayload) { - hashCode = hashCode * 31 + [self.payload hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTStreamingInputCallRequestBuilder() -@property (strong) RMTStreamingInputCallRequest* resultStreamingInputCallRequest; -@end - -@implementation RMTStreamingInputCallRequestBuilder -@synthesize resultStreamingInputCallRequest; -- (instancetype) init { - if ((self = [super init])) { - self.resultStreamingInputCallRequest = [[RMTStreamingInputCallRequest alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultStreamingInputCallRequest; -} -- (RMTStreamingInputCallRequestBuilder*) clear { - self.resultStreamingInputCallRequest = [[RMTStreamingInputCallRequest alloc] init]; - return self; -} -- (RMTStreamingInputCallRequestBuilder*) clone { - return [RMTStreamingInputCallRequest builderWithPrototype:resultStreamingInputCallRequest]; -} -- (RMTStreamingInputCallRequest*) defaultInstance { - return [RMTStreamingInputCallRequest defaultInstance]; -} -- (RMTStreamingInputCallRequest*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTStreamingInputCallRequest*) buildPartial { - RMTStreamingInputCallRequest* returnMe = resultStreamingInputCallRequest; - self.resultStreamingInputCallRequest = nil; - return returnMe; -} -- (RMTStreamingInputCallRequestBuilder*) mergeFrom:(RMTStreamingInputCallRequest*) other { - if (other == [RMTStreamingInputCallRequest defaultInstance]) { - return self; - } - if (other.hasPayload) { - [self mergePayload:other.payload]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTStreamingInputCallRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTStreamingInputCallRequestBuilder*) 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: { - RMTPayloadBuilder* subBuilder = [RMTPayload builder]; - if (self.hasPayload) { - [subBuilder mergeFrom:self.payload]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setPayload:[subBuilder buildPartial]]; - break; - } - } - } -} -- (BOOL) hasPayload { - return resultStreamingInputCallRequest.hasPayload; -} -- (RMTPayload*) payload { - return resultStreamingInputCallRequest.payload; -} -- (RMTStreamingInputCallRequestBuilder*) setPayload:(RMTPayload*) value { - resultStreamingInputCallRequest.hasPayload = YES; - resultStreamingInputCallRequest.payload = value; - return self; -} -- (RMTStreamingInputCallRequestBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue { - return [self setPayload:[builderForValue build]]; -} -- (RMTStreamingInputCallRequestBuilder*) mergePayload:(RMTPayload*) value { - if (resultStreamingInputCallRequest.hasPayload && - resultStreamingInputCallRequest.payload != [RMTPayload defaultInstance]) { - resultStreamingInputCallRequest.payload = - [[[RMTPayload builderWithPrototype:resultStreamingInputCallRequest.payload] mergeFrom:value] buildPartial]; - } else { - resultStreamingInputCallRequest.payload = value; - } - resultStreamingInputCallRequest.hasPayload = YES; - return self; -} -- (RMTStreamingInputCallRequestBuilder*) clearPayload { - resultStreamingInputCallRequest.hasPayload = NO; - resultStreamingInputCallRequest.payload = [RMTPayload defaultInstance]; - return self; -} -@end - -@interface RMTStreamingInputCallResponse () -@property SInt32 aggregatedPayloadSize; -@end - -@implementation RMTStreamingInputCallResponse - -- (BOOL) hasAggregatedPayloadSize { - return !!hasAggregatedPayloadSize_; -} -- (void) setHasAggregatedPayloadSize:(BOOL) _value_ { - hasAggregatedPayloadSize_ = !!_value_; -} -@synthesize aggregatedPayloadSize; -- (instancetype) init { - if ((self = [super init])) { - self.aggregatedPayloadSize = 0; - } - return self; -} -static RMTStreamingInputCallResponse* defaultRMTStreamingInputCallResponseInstance = nil; -+ (void) initialize { - if (self == [RMTStreamingInputCallResponse class]) { - defaultRMTStreamingInputCallResponseInstance = [[RMTStreamingInputCallResponse alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTStreamingInputCallResponseInstance; -} -- (instancetype) defaultInstance { - return defaultRMTStreamingInputCallResponseInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasAggregatedPayloadSize) { - [output writeInt32:1 value:self.aggregatedPayloadSize]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasAggregatedPayloadSize) { - size_ += computeInt32Size(1, self.aggregatedPayloadSize); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTStreamingInputCallResponse*) parseFromData:(NSData*) data { - return (RMTStreamingInputCallResponse*)[[[RMTStreamingInputCallResponse builder] mergeFromData:data] build]; -} -+ (RMTStreamingInputCallResponse*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingInputCallResponse*)[[[RMTStreamingInputCallResponse builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingInputCallResponse*) parseFromInputStream:(NSInputStream*) input { - return (RMTStreamingInputCallResponse*)[[[RMTStreamingInputCallResponse builder] mergeFromInputStream:input] build]; -} -+ (RMTStreamingInputCallResponse*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingInputCallResponse*)[[[RMTStreamingInputCallResponse builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingInputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTStreamingInputCallResponse*)[[[RMTStreamingInputCallResponse builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTStreamingInputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingInputCallResponse*)[[[RMTStreamingInputCallResponse builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingInputCallResponseBuilder*) builder { - return [[RMTStreamingInputCallResponseBuilder alloc] init]; -} -+ (RMTStreamingInputCallResponseBuilder*) builderWithPrototype:(RMTStreamingInputCallResponse*) prototype { - return [[RMTStreamingInputCallResponse builder] mergeFrom:prototype]; -} -- (RMTStreamingInputCallResponseBuilder*) builder { - return [RMTStreamingInputCallResponse builder]; -} -- (RMTStreamingInputCallResponseBuilder*) toBuilder { - return [RMTStreamingInputCallResponse builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasAggregatedPayloadSize) { - [output appendFormat:@"%@%@: %@\n", indent, @"aggregatedPayloadSize", [NSNumber numberWithInteger:self.aggregatedPayloadSize]]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTStreamingInputCallResponse class]]) { - return NO; - } - RMTStreamingInputCallResponse *otherMessage = other; - return - self.hasAggregatedPayloadSize == otherMessage.hasAggregatedPayloadSize && - (!self.hasAggregatedPayloadSize || self.aggregatedPayloadSize == otherMessage.aggregatedPayloadSize) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasAggregatedPayloadSize) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.aggregatedPayloadSize] hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTStreamingInputCallResponseBuilder() -@property (strong) RMTStreamingInputCallResponse* resultStreamingInputCallResponse; -@end - -@implementation RMTStreamingInputCallResponseBuilder -@synthesize resultStreamingInputCallResponse; -- (instancetype) init { - if ((self = [super init])) { - self.resultStreamingInputCallResponse = [[RMTStreamingInputCallResponse alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultStreamingInputCallResponse; -} -- (RMTStreamingInputCallResponseBuilder*) clear { - self.resultStreamingInputCallResponse = [[RMTStreamingInputCallResponse alloc] init]; - return self; -} -- (RMTStreamingInputCallResponseBuilder*) clone { - return [RMTStreamingInputCallResponse builderWithPrototype:resultStreamingInputCallResponse]; -} -- (RMTStreamingInputCallResponse*) defaultInstance { - return [RMTStreamingInputCallResponse defaultInstance]; -} -- (RMTStreamingInputCallResponse*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTStreamingInputCallResponse*) buildPartial { - RMTStreamingInputCallResponse* returnMe = resultStreamingInputCallResponse; - self.resultStreamingInputCallResponse = nil; - return returnMe; -} -- (RMTStreamingInputCallResponseBuilder*) mergeFrom:(RMTStreamingInputCallResponse*) other { - if (other == [RMTStreamingInputCallResponse defaultInstance]) { - return self; - } - if (other.hasAggregatedPayloadSize) { - [self setAggregatedPayloadSize:other.aggregatedPayloadSize]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTStreamingInputCallResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTStreamingInputCallResponseBuilder*) 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 setAggregatedPayloadSize:[input readInt32]]; - break; - } - } - } -} -- (BOOL) hasAggregatedPayloadSize { - return resultStreamingInputCallResponse.hasAggregatedPayloadSize; -} -- (SInt32) aggregatedPayloadSize { - return resultStreamingInputCallResponse.aggregatedPayloadSize; -} -- (RMTStreamingInputCallResponseBuilder*) setAggregatedPayloadSize:(SInt32) value { - resultStreamingInputCallResponse.hasAggregatedPayloadSize = YES; - resultStreamingInputCallResponse.aggregatedPayloadSize = value; - return self; -} -- (RMTStreamingInputCallResponseBuilder*) clearAggregatedPayloadSize { - resultStreamingInputCallResponse.hasAggregatedPayloadSize = NO; - resultStreamingInputCallResponse.aggregatedPayloadSize = 0; - return self; -} -@end - -@interface RMTResponseParameters () -@property SInt32 size; -@property SInt32 intervalUs; -@end - -@implementation RMTResponseParameters - -- (BOOL) hasSize { - return !!hasSize_; -} -- (void) setHasSize:(BOOL) _value_ { - hasSize_ = !!_value_; -} -@synthesize size; -- (BOOL) hasIntervalUs { - return !!hasIntervalUs_; -} -- (void) setHasIntervalUs:(BOOL) _value_ { - hasIntervalUs_ = !!_value_; -} -@synthesize intervalUs; -- (instancetype) init { - if ((self = [super init])) { - self.size = 0; - self.intervalUs = 0; - } - return self; -} -static RMTResponseParameters* defaultRMTResponseParametersInstance = nil; -+ (void) initialize { - if (self == [RMTResponseParameters class]) { - defaultRMTResponseParametersInstance = [[RMTResponseParameters alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTResponseParametersInstance; -} -- (instancetype) defaultInstance { - return defaultRMTResponseParametersInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasSize) { - [output writeInt32:1 value:self.size]; - } - if (self.hasIntervalUs) { - [output writeInt32:2 value:self.intervalUs]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasSize) { - size_ += computeInt32Size(1, self.size); - } - if (self.hasIntervalUs) { - size_ += computeInt32Size(2, self.intervalUs); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTResponseParameters*) parseFromData:(NSData*) data { - return (RMTResponseParameters*)[[[RMTResponseParameters builder] mergeFromData:data] build]; -} -+ (RMTResponseParameters*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTResponseParameters*)[[[RMTResponseParameters builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTResponseParameters*) parseFromInputStream:(NSInputStream*) input { - return (RMTResponseParameters*)[[[RMTResponseParameters builder] mergeFromInputStream:input] build]; -} -+ (RMTResponseParameters*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTResponseParameters*)[[[RMTResponseParameters builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTResponseParameters*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTResponseParameters*)[[[RMTResponseParameters builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTResponseParameters*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTResponseParameters*)[[[RMTResponseParameters builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTResponseParametersBuilder*) builder { - return [[RMTResponseParametersBuilder alloc] init]; -} -+ (RMTResponseParametersBuilder*) builderWithPrototype:(RMTResponseParameters*) prototype { - return [[RMTResponseParameters builder] mergeFrom:prototype]; -} -- (RMTResponseParametersBuilder*) builder { - return [RMTResponseParameters builder]; -} -- (RMTResponseParametersBuilder*) toBuilder { - return [RMTResponseParameters builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasSize) { - [output appendFormat:@"%@%@: %@\n", indent, @"size", [NSNumber numberWithInteger:self.size]]; - } - if (self.hasIntervalUs) { - [output appendFormat:@"%@%@: %@\n", indent, @"intervalUs", [NSNumber numberWithInteger:self.intervalUs]]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTResponseParameters class]]) { - return NO; - } - RMTResponseParameters *otherMessage = other; - return - self.hasSize == otherMessage.hasSize && - (!self.hasSize || self.size == otherMessage.size) && - self.hasIntervalUs == otherMessage.hasIntervalUs && - (!self.hasIntervalUs || self.intervalUs == otherMessage.intervalUs) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasSize) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.size] hash]; - } - if (self.hasIntervalUs) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.intervalUs] hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTResponseParametersBuilder() -@property (strong) RMTResponseParameters* resultResponseParameters; -@end - -@implementation RMTResponseParametersBuilder -@synthesize resultResponseParameters; -- (instancetype) init { - if ((self = [super init])) { - self.resultResponseParameters = [[RMTResponseParameters alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultResponseParameters; -} -- (RMTResponseParametersBuilder*) clear { - self.resultResponseParameters = [[RMTResponseParameters alloc] init]; - return self; -} -- (RMTResponseParametersBuilder*) clone { - return [RMTResponseParameters builderWithPrototype:resultResponseParameters]; -} -- (RMTResponseParameters*) defaultInstance { - return [RMTResponseParameters defaultInstance]; -} -- (RMTResponseParameters*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTResponseParameters*) buildPartial { - RMTResponseParameters* returnMe = resultResponseParameters; - self.resultResponseParameters = nil; - return returnMe; -} -- (RMTResponseParametersBuilder*) mergeFrom:(RMTResponseParameters*) other { - if (other == [RMTResponseParameters defaultInstance]) { - return self; - } - if (other.hasSize) { - [self setSize:other.size]; - } - if (other.hasIntervalUs) { - [self setIntervalUs:other.intervalUs]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTResponseParametersBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTResponseParametersBuilder*) 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 setSize:[input readInt32]]; - break; - } - case 16: { - [self setIntervalUs:[input readInt32]]; - break; - } - } - } -} -- (BOOL) hasSize { - return resultResponseParameters.hasSize; -} -- (SInt32) size { - return resultResponseParameters.size; -} -- (RMTResponseParametersBuilder*) setSize:(SInt32) value { - resultResponseParameters.hasSize = YES; - resultResponseParameters.size = value; - return self; -} -- (RMTResponseParametersBuilder*) clearSize { - resultResponseParameters.hasSize = NO; - resultResponseParameters.size = 0; - return self; -} -- (BOOL) hasIntervalUs { - return resultResponseParameters.hasIntervalUs; -} -- (SInt32) intervalUs { - return resultResponseParameters.intervalUs; -} -- (RMTResponseParametersBuilder*) setIntervalUs:(SInt32) value { - resultResponseParameters.hasIntervalUs = YES; - resultResponseParameters.intervalUs = value; - return self; -} -- (RMTResponseParametersBuilder*) clearIntervalUs { - resultResponseParameters.hasIntervalUs = NO; - resultResponseParameters.intervalUs = 0; - return self; -} -@end - -@interface RMTStreamingOutputCallRequest () -@property RMTPayloadType responseType; -@property (strong) NSMutableArray * responseParametersArray; -@property (strong) RMTPayload* payload; -@end - -@implementation RMTStreamingOutputCallRequest - -- (BOOL) hasResponseType { - return !!hasResponseType_; -} -- (void) setHasResponseType:(BOOL) _value_ { - hasResponseType_ = !!_value_; -} -@synthesize responseType; -@synthesize responseParametersArray; -@dynamic responseParameters; -- (BOOL) hasPayload { - return !!hasPayload_; -} -- (void) setHasPayload:(BOOL) _value_ { - hasPayload_ = !!_value_; -} -@synthesize payload; -- (instancetype) init { - if ((self = [super init])) { - self.responseType = RMTPayloadTypeCompressable; - self.payload = [RMTPayload defaultInstance]; - } - return self; -} -static RMTStreamingOutputCallRequest* defaultRMTStreamingOutputCallRequestInstance = nil; -+ (void) initialize { - if (self == [RMTStreamingOutputCallRequest class]) { - defaultRMTStreamingOutputCallRequestInstance = [[RMTStreamingOutputCallRequest alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTStreamingOutputCallRequestInstance; -} -- (instancetype) defaultInstance { - return defaultRMTStreamingOutputCallRequestInstance; -} -- (NSArray *)responseParameters { - return responseParametersArray; -} -- (RMTResponseParameters*)responseParametersAtIndex:(NSUInteger)index { - return [responseParametersArray objectAtIndex:index]; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasResponseType) { - [output writeEnum:1 value:self.responseType]; - } - [self.responseParametersArray enumerateObjectsUsingBlock:^(RMTResponseParameters *element, NSUInteger idx, BOOL *stop) { - [output writeMessage:2 value:element]; - }]; - if (self.hasPayload) { - [output writeMessage:3 value:self.payload]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasResponseType) { - size_ += computeEnumSize(1, self.responseType); - } - [self.responseParametersArray enumerateObjectsUsingBlock:^(RMTResponseParameters *element, NSUInteger idx, BOOL *stop) { - size_ += computeMessageSize(2, element); - }]; - if (self.hasPayload) { - size_ += computeMessageSize(3, self.payload); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTStreamingOutputCallRequest*) parseFromData:(NSData*) data { - return (RMTStreamingOutputCallRequest*)[[[RMTStreamingOutputCallRequest builder] mergeFromData:data] build]; -} -+ (RMTStreamingOutputCallRequest*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingOutputCallRequest*)[[[RMTStreamingOutputCallRequest builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingOutputCallRequest*) parseFromInputStream:(NSInputStream*) input { - return (RMTStreamingOutputCallRequest*)[[[RMTStreamingOutputCallRequest builder] mergeFromInputStream:input] build]; -} -+ (RMTStreamingOutputCallRequest*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingOutputCallRequest*)[[[RMTStreamingOutputCallRequest builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingOutputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTStreamingOutputCallRequest*)[[[RMTStreamingOutputCallRequest builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTStreamingOutputCallRequest*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingOutputCallRequest*)[[[RMTStreamingOutputCallRequest builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingOutputCallRequestBuilder*) builder { - return [[RMTStreamingOutputCallRequestBuilder alloc] init]; -} -+ (RMTStreamingOutputCallRequestBuilder*) builderWithPrototype:(RMTStreamingOutputCallRequest*) prototype { - return [[RMTStreamingOutputCallRequest builder] mergeFrom:prototype]; -} -- (RMTStreamingOutputCallRequestBuilder*) builder { - return [RMTStreamingOutputCallRequest builder]; -} -- (RMTStreamingOutputCallRequestBuilder*) toBuilder { - return [RMTStreamingOutputCallRequest builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasResponseType) { - [output appendFormat:@"%@%@: %@\n", indent, @"responseType", NSStringFromRMTPayloadType(self.responseType)]; - } - [self.responseParametersArray enumerateObjectsUsingBlock:^(RMTResponseParameters *element, NSUInteger idx, BOOL *stop) { - [output appendFormat:@"%@%@ {\n", indent, @"responseParameters"]; - [element writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - }]; - if (self.hasPayload) { - [output appendFormat:@"%@%@ {\n", indent, @"payload"]; - [self.payload writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTStreamingOutputCallRequest class]]) { - return NO; - } - RMTStreamingOutputCallRequest *otherMessage = other; - return - self.hasResponseType == otherMessage.hasResponseType && - (!self.hasResponseType || self.responseType == otherMessage.responseType) && - [self.responseParametersArray isEqualToArray:otherMessage.responseParametersArray] && - self.hasPayload == otherMessage.hasPayload && - (!self.hasPayload || [self.payload isEqual:otherMessage.payload]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasResponseType) { - hashCode = hashCode * 31 + self.responseType; - } - [self.responseParametersArray enumerateObjectsUsingBlock:^(RMTResponseParameters *element, NSUInteger idx, BOOL *stop) { - hashCode = hashCode * 31 + [element hash]; - }]; - if (self.hasPayload) { - hashCode = hashCode * 31 + [self.payload hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTStreamingOutputCallRequestBuilder() -@property (strong) RMTStreamingOutputCallRequest* resultStreamingOutputCallRequest; -@end - -@implementation RMTStreamingOutputCallRequestBuilder -@synthesize resultStreamingOutputCallRequest; -- (instancetype) init { - if ((self = [super init])) { - self.resultStreamingOutputCallRequest = [[RMTStreamingOutputCallRequest alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultStreamingOutputCallRequest; -} -- (RMTStreamingOutputCallRequestBuilder*) clear { - self.resultStreamingOutputCallRequest = [[RMTStreamingOutputCallRequest alloc] init]; - return self; -} -- (RMTStreamingOutputCallRequestBuilder*) clone { - return [RMTStreamingOutputCallRequest builderWithPrototype:resultStreamingOutputCallRequest]; -} -- (RMTStreamingOutputCallRequest*) defaultInstance { - return [RMTStreamingOutputCallRequest defaultInstance]; -} -- (RMTStreamingOutputCallRequest*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTStreamingOutputCallRequest*) buildPartial { - RMTStreamingOutputCallRequest* returnMe = resultStreamingOutputCallRequest; - self.resultStreamingOutputCallRequest = nil; - return returnMe; -} -- (RMTStreamingOutputCallRequestBuilder*) mergeFrom:(RMTStreamingOutputCallRequest*) other { - if (other == [RMTStreamingOutputCallRequest defaultInstance]) { - return self; - } - if (other.hasResponseType) { - [self setResponseType:other.responseType]; - } - if (other.responseParametersArray.count > 0) { - if (resultStreamingOutputCallRequest.responseParametersArray == nil) { - resultStreamingOutputCallRequest.responseParametersArray = [[NSMutableArray alloc] initWithArray:other.responseParametersArray]; - } else { - [resultStreamingOutputCallRequest.responseParametersArray addObjectsFromArray:other.responseParametersArray]; - } - } - if (other.hasPayload) { - [self mergePayload:other.payload]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTStreamingOutputCallRequestBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTStreamingOutputCallRequestBuilder*) 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: { - RMTPayloadType value = (RMTPayloadType)[input readEnum]; - if (RMTPayloadTypeIsValidValue(value)) { - [self setResponseType:value]; - } else { - [unknownFields mergeVarintField:1 value:value]; - } - break; - } - case 18: { - RMTResponseParametersBuilder* subBuilder = [RMTResponseParameters builder]; - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self addResponseParameters:[subBuilder buildPartial]]; - break; - } - case 26: { - RMTPayloadBuilder* subBuilder = [RMTPayload builder]; - if (self.hasPayload) { - [subBuilder mergeFrom:self.payload]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setPayload:[subBuilder buildPartial]]; - break; - } - } - } -} -- (BOOL) hasResponseType { - return resultStreamingOutputCallRequest.hasResponseType; -} -- (RMTPayloadType) responseType { - return resultStreamingOutputCallRequest.responseType; -} -- (RMTStreamingOutputCallRequestBuilder*) setResponseType:(RMTPayloadType) value { - resultStreamingOutputCallRequest.hasResponseType = YES; - resultStreamingOutputCallRequest.responseType = value; - return self; -} -- (RMTStreamingOutputCallRequestBuilder*) clearResponseType { - resultStreamingOutputCallRequest.hasResponseType = NO; - resultStreamingOutputCallRequest.responseType = RMTPayloadTypeCompressable; - return self; -} -- (NSMutableArray *)responseParameters { - return resultStreamingOutputCallRequest.responseParametersArray; -} -- (RMTResponseParameters*)responseParametersAtIndex:(NSUInteger)index { - return [resultStreamingOutputCallRequest responseParametersAtIndex:index]; -} -- (RMTStreamingOutputCallRequestBuilder *)addResponseParameters:(RMTResponseParameters*)value { - if (resultStreamingOutputCallRequest.responseParametersArray == nil) { - resultStreamingOutputCallRequest.responseParametersArray = [[NSMutableArray alloc]init]; - } - [resultStreamingOutputCallRequest.responseParametersArray addObject:value]; - return self; -} -- (RMTStreamingOutputCallRequestBuilder *)setResponseParametersArray:(NSArray *)array { - resultStreamingOutputCallRequest.responseParametersArray = [[NSMutableArray alloc]initWithArray:array]; - return self; -} -- (RMTStreamingOutputCallRequestBuilder *)clearResponseParameters { - resultStreamingOutputCallRequest.responseParametersArray = nil; - return self; -} -- (BOOL) hasPayload { - return resultStreamingOutputCallRequest.hasPayload; -} -- (RMTPayload*) payload { - return resultStreamingOutputCallRequest.payload; -} -- (RMTStreamingOutputCallRequestBuilder*) setPayload:(RMTPayload*) value { - resultStreamingOutputCallRequest.hasPayload = YES; - resultStreamingOutputCallRequest.payload = value; - return self; -} -- (RMTStreamingOutputCallRequestBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue { - return [self setPayload:[builderForValue build]]; -} -- (RMTStreamingOutputCallRequestBuilder*) mergePayload:(RMTPayload*) value { - if (resultStreamingOutputCallRequest.hasPayload && - resultStreamingOutputCallRequest.payload != [RMTPayload defaultInstance]) { - resultStreamingOutputCallRequest.payload = - [[[RMTPayload builderWithPrototype:resultStreamingOutputCallRequest.payload] mergeFrom:value] buildPartial]; - } else { - resultStreamingOutputCallRequest.payload = value; - } - resultStreamingOutputCallRequest.hasPayload = YES; - return self; -} -- (RMTStreamingOutputCallRequestBuilder*) clearPayload { - resultStreamingOutputCallRequest.hasPayload = NO; - resultStreamingOutputCallRequest.payload = [RMTPayload defaultInstance]; - return self; -} -@end - -@interface RMTStreamingOutputCallResponse () -@property (strong) RMTPayload* payload; -@end - -@implementation RMTStreamingOutputCallResponse - -- (BOOL) hasPayload { - return !!hasPayload_; -} -- (void) setHasPayload:(BOOL) _value_ { - hasPayload_ = !!_value_; -} -@synthesize payload; -- (instancetype) init { - if ((self = [super init])) { - self.payload = [RMTPayload defaultInstance]; - } - return self; -} -static RMTStreamingOutputCallResponse* defaultRMTStreamingOutputCallResponseInstance = nil; -+ (void) initialize { - if (self == [RMTStreamingOutputCallResponse class]) { - defaultRMTStreamingOutputCallResponseInstance = [[RMTStreamingOutputCallResponse alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRMTStreamingOutputCallResponseInstance; -} -- (instancetype) defaultInstance { - return defaultRMTStreamingOutputCallResponseInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasPayload) { - [output writeMessage:1 value:self.payload]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasPayload) { - size_ += computeMessageSize(1, self.payload); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RMTStreamingOutputCallResponse*) parseFromData:(NSData*) data { - return (RMTStreamingOutputCallResponse*)[[[RMTStreamingOutputCallResponse builder] mergeFromData:data] build]; -} -+ (RMTStreamingOutputCallResponse*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingOutputCallResponse*)[[[RMTStreamingOutputCallResponse builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingOutputCallResponse*) parseFromInputStream:(NSInputStream*) input { - return (RMTStreamingOutputCallResponse*)[[[RMTStreamingOutputCallResponse builder] mergeFromInputStream:input] build]; -} -+ (RMTStreamingOutputCallResponse*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingOutputCallResponse*)[[[RMTStreamingOutputCallResponse builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingOutputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RMTStreamingOutputCallResponse*)[[[RMTStreamingOutputCallResponse builder] mergeFromCodedInputStream:input] build]; -} -+ (RMTStreamingOutputCallResponse*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RMTStreamingOutputCallResponse*)[[[RMTStreamingOutputCallResponse builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RMTStreamingOutputCallResponseBuilder*) builder { - return [[RMTStreamingOutputCallResponseBuilder alloc] init]; -} -+ (RMTStreamingOutputCallResponseBuilder*) builderWithPrototype:(RMTStreamingOutputCallResponse*) prototype { - return [[RMTStreamingOutputCallResponse builder] mergeFrom:prototype]; -} -- (RMTStreamingOutputCallResponseBuilder*) builder { - return [RMTStreamingOutputCallResponse builder]; -} -- (RMTStreamingOutputCallResponseBuilder*) toBuilder { - return [RMTStreamingOutputCallResponse builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasPayload) { - [output appendFormat:@"%@%@ {\n", indent, @"payload"]; - [self.payload writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RMTStreamingOutputCallResponse class]]) { - return NO; - } - RMTStreamingOutputCallResponse *otherMessage = other; - return - self.hasPayload == otherMessage.hasPayload && - (!self.hasPayload || [self.payload isEqual:otherMessage.payload]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasPayload) { - hashCode = hashCode * 31 + [self.payload hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RMTStreamingOutputCallResponseBuilder() -@property (strong) RMTStreamingOutputCallResponse* resultStreamingOutputCallResponse; -@end - -@implementation RMTStreamingOutputCallResponseBuilder -@synthesize resultStreamingOutputCallResponse; -- (instancetype) init { - if ((self = [super init])) { - self.resultStreamingOutputCallResponse = [[RMTStreamingOutputCallResponse alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultStreamingOutputCallResponse; -} -- (RMTStreamingOutputCallResponseBuilder*) clear { - self.resultStreamingOutputCallResponse = [[RMTStreamingOutputCallResponse alloc] init]; - return self; -} -- (RMTStreamingOutputCallResponseBuilder*) clone { - return [RMTStreamingOutputCallResponse builderWithPrototype:resultStreamingOutputCallResponse]; -} -- (RMTStreamingOutputCallResponse*) defaultInstance { - return [RMTStreamingOutputCallResponse defaultInstance]; -} -- (RMTStreamingOutputCallResponse*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RMTStreamingOutputCallResponse*) buildPartial { - RMTStreamingOutputCallResponse* returnMe = resultStreamingOutputCallResponse; - self.resultStreamingOutputCallResponse = nil; - return returnMe; -} -- (RMTStreamingOutputCallResponseBuilder*) mergeFrom:(RMTStreamingOutputCallResponse*) other { - if (other == [RMTStreamingOutputCallResponse defaultInstance]) { - return self; - } - if (other.hasPayload) { - [self mergePayload:other.payload]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RMTStreamingOutputCallResponseBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RMTStreamingOutputCallResponseBuilder*) 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: { - RMTPayloadBuilder* subBuilder = [RMTPayload builder]; - if (self.hasPayload) { - [subBuilder mergeFrom:self.payload]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setPayload:[subBuilder buildPartial]]; - break; - } - } - } -} -- (BOOL) hasPayload { - return resultStreamingOutputCallResponse.hasPayload; -} -- (RMTPayload*) payload { - return resultStreamingOutputCallResponse.payload; -} -- (RMTStreamingOutputCallResponseBuilder*) setPayload:(RMTPayload*) value { - resultStreamingOutputCallResponse.hasPayload = YES; - resultStreamingOutputCallResponse.payload = value; - return self; -} -- (RMTStreamingOutputCallResponseBuilder*) setPayloadBuilder:(RMTPayloadBuilder*) builderForValue { - return [self setPayload:[builderForValue build]]; -} -- (RMTStreamingOutputCallResponseBuilder*) mergePayload:(RMTPayload*) value { - if (resultStreamingOutputCallResponse.hasPayload && - resultStreamingOutputCallResponse.payload != [RMTPayload defaultInstance]) { - resultStreamingOutputCallResponse.payload = - [[[RMTPayload builderWithPrototype:resultStreamingOutputCallResponse.payload] mergeFrom:value] buildPartial]; - } else { - resultStreamingOutputCallResponse.payload = value; - } - resultStreamingOutputCallResponse.hasPayload = YES; - return self; -} -- (RMTStreamingOutputCallResponseBuilder*) clearPayload { - resultStreamingOutputCallResponse.hasPayload = NO; - resultStreamingOutputCallResponse.payload = [RMTPayload defaultInstance]; - return self; -} -@end - - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.h b/src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.h new file mode 100644 index 0000000000..5f32314175 --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.h @@ -0,0 +1,221 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: messages.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +CF_EXTERN_C_BEGIN + +@class RMTPayload; +@class RMTResponseParameters; +@class RMTSimpleRequest; +@class RMTSimpleResponse; +@class RMTStreamingInputCallRequest; +@class RMTStreamingInputCallResponse; +@class RMTStreamingOutputCallRequest; +@class RMTStreamingOutputCallResponse; + +#pragma mark - Enum RMTPayloadType + +// The type of payload that should be returned. +typedef GPB_ENUM(RMTPayloadType) { + RMTPayloadType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue, + // Compressable text format. + RMTPayloadType_Compressable = 0, + + // Uncompressable binary format. + RMTPayloadType_Uncompressable = 1, + + // Randomly chosen from all other formats defined in this enum. + RMTPayloadType_Random = 2, +}; + +GPBEnumDescriptor *RMTPayloadType_EnumDescriptor(void); + +BOOL RMTPayloadType_IsValidValue(int32_t value); + + +#pragma mark - RMTMessagesRoot + +@interface RMTMessagesRoot : GPBRootObject +@end + +#pragma mark - RMTPayload + +typedef GPB_ENUM(RMTPayload_FieldNumber) { + RMTPayload_FieldNumber_Type = 1, + RMTPayload_FieldNumber_Body = 2, +}; + +// A block of data, to simply increase gRPC message size. +@interface RMTPayload : GPBMessage + +// The type of data in body. +@property(nonatomic, readwrite) RMTPayloadType type; + +// Primary contents of payload. +@property(nonatomic, readwrite, copy) NSData *body; + +@end + +int32_t RMTPayload_Type_RawValue(RMTPayload *message); +void SetRMTPayload_Type_RawValue(RMTPayload *message, int32_t value); + +#pragma mark - RMTSimpleRequest + +typedef GPB_ENUM(RMTSimpleRequest_FieldNumber) { + RMTSimpleRequest_FieldNumber_ResponseType = 1, + RMTSimpleRequest_FieldNumber_ResponseSize = 2, + RMTSimpleRequest_FieldNumber_Payload = 3, + RMTSimpleRequest_FieldNumber_FillUsername = 4, + RMTSimpleRequest_FieldNumber_FillOauthScope = 5, +}; + +// Unary request. +@interface RMTSimpleRequest : GPBMessage + +// Desired payload type in the response from the server. +// If response_type is RANDOM, server randomly chooses one from other formats. +@property(nonatomic, readwrite) RMTPayloadType responseType; + +// Desired payload size in the response from the server. +// If response_type is COMPRESSABLE, this denotes the size before compression. +@property(nonatomic, readwrite) int32_t responseSize; + +// Optional input payload sent along with the request. +@property(nonatomic, readwrite) BOOL hasPayload; +@property(nonatomic, readwrite, strong) RMTPayload *payload; + +// Whether SimpleResponse should include username. +@property(nonatomic, readwrite) BOOL fillUsername; + +// Whether SimpleResponse should include OAuth scope. +@property(nonatomic, readwrite) BOOL fillOauthScope; + +@end + +int32_t RMTSimpleRequest_ResponseType_RawValue(RMTSimpleRequest *message); +void SetRMTSimpleRequest_ResponseType_RawValue(RMTSimpleRequest *message, int32_t value); + +#pragma mark - RMTSimpleResponse + +typedef GPB_ENUM(RMTSimpleResponse_FieldNumber) { + RMTSimpleResponse_FieldNumber_Payload = 1, + RMTSimpleResponse_FieldNumber_Username = 2, + RMTSimpleResponse_FieldNumber_OauthScope = 3, +}; + +// Unary response, as configured by the request. +@interface RMTSimpleResponse : GPBMessage + +// Payload to increase message size. +@property(nonatomic, readwrite) BOOL hasPayload; +@property(nonatomic, readwrite, strong) RMTPayload *payload; + +// The user the request came from, for verifying authentication was +// successful when the client expected it. +@property(nonatomic, readwrite, copy) NSString *username; + +// OAuth scope. +@property(nonatomic, readwrite, copy) NSString *oauthScope; + +@end + +#pragma mark - RMTStreamingInputCallRequest + +typedef GPB_ENUM(RMTStreamingInputCallRequest_FieldNumber) { + RMTStreamingInputCallRequest_FieldNumber_Payload = 1, +}; + +// Client-streaming request. +@interface RMTStreamingInputCallRequest : GPBMessage + +// Optional input payload sent along with the request. +@property(nonatomic, readwrite) BOOL hasPayload; +@property(nonatomic, readwrite, strong) RMTPayload *payload; + +@end + +#pragma mark - RMTStreamingInputCallResponse + +typedef GPB_ENUM(RMTStreamingInputCallResponse_FieldNumber) { + RMTStreamingInputCallResponse_FieldNumber_AggregatedPayloadSize = 1, +}; + +// Client-streaming response. +@interface RMTStreamingInputCallResponse : GPBMessage + +// Aggregated size of payloads received from the client. +@property(nonatomic, readwrite) int32_t aggregatedPayloadSize; + +@end + +#pragma mark - RMTResponseParameters + +typedef GPB_ENUM(RMTResponseParameters_FieldNumber) { + RMTResponseParameters_FieldNumber_Size = 1, + RMTResponseParameters_FieldNumber_IntervalUs = 2, +}; + +// Configuration for a particular response. +@interface RMTResponseParameters : GPBMessage + +// Desired payload sizes in responses from the server. +// If response_type is COMPRESSABLE, this denotes the size before compression. +@property(nonatomic, readwrite) int32_t size; + +// Desired interval between consecutive responses in the response stream in +// microseconds. +@property(nonatomic, readwrite) int32_t intervalUs; + +@end + +#pragma mark - RMTStreamingOutputCallRequest + +typedef GPB_ENUM(RMTStreamingOutputCallRequest_FieldNumber) { + RMTStreamingOutputCallRequest_FieldNumber_ResponseType = 1, + RMTStreamingOutputCallRequest_FieldNumber_ResponseParametersArray = 2, + RMTStreamingOutputCallRequest_FieldNumber_Payload = 3, +}; + +// Server-streaming request. +@interface RMTStreamingOutputCallRequest : GPBMessage + +// Desired payload type in the response from the server. +// If response_type is RANDOM, the payload from each response in the stream +// might be of different types. This is to simulate a mixed type of payload +// stream. +@property(nonatomic, readwrite) RMTPayloadType responseType; + +// Configuration for each expected response message. +// |responseParametersArray| contains |RMTResponseParameters| +@property(nonatomic, readwrite, strong) NSMutableArray *responseParametersArray; + +// Optional input payload sent along with the request. +@property(nonatomic, readwrite) BOOL hasPayload; +@property(nonatomic, readwrite, strong) RMTPayload *payload; + +@end + +int32_t RMTStreamingOutputCallRequest_ResponseType_RawValue(RMTStreamingOutputCallRequest *message); +void SetRMTStreamingOutputCallRequest_ResponseType_RawValue(RMTStreamingOutputCallRequest *message, int32_t value); + +#pragma mark - RMTStreamingOutputCallResponse + +typedef GPB_ENUM(RMTStreamingOutputCallResponse_FieldNumber) { + RMTStreamingOutputCallResponse_FieldNumber_Payload = 1, +}; + +// Server-streaming response, as configured by the request and parameters. +@interface RMTStreamingOutputCallResponse : GPBMessage + +// Payload to increase response size. +@property(nonatomic, readwrite) BOOL hasPayload; +@property(nonatomic, readwrite, strong) RMTPayload *payload; + +@end + +CF_EXTERN_C_END diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.m b/src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.m new file mode 100644 index 0000000000..98eb1dc87c --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.m @@ -0,0 +1,603 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: messages.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" + +#import "Messages.pbobjc.h" + +#pragma mark - RMTMessagesRoot + +@implementation RMTMessagesRoot + +@end + +static GPBFileDescriptor *RMTMessagesRoot_FileDescriptor(void) { + // This is called by +initialize so there is no need to worry + // about thread safety of the singleton. + static GPBFileDescriptor *descriptor = NULL; + if (!descriptor) { + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"grpc.testing" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - Enum RMTPayloadType + +GPBEnumDescriptor *RMTPayloadType_EnumDescriptor(void) { + static GPBEnumDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageEnumValueDescription values[] = { + { .name = "Compressable", .number = RMTPayloadType_Compressable }, + { .name = "Uncompressable", .number = RMTPayloadType_Uncompressable }, + { .name = "Random", .number = RMTPayloadType_Random }, + }; + descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(RMTPayloadType) + values:values + valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription) + enumVerifier:RMTPayloadType_IsValidValue]; + } + return descriptor; +} + +BOOL RMTPayloadType_IsValidValue(int32_t value__) { + switch (value__) { + case RMTPayloadType_Compressable: + case RMTPayloadType_Uncompressable: + case RMTPayloadType_Random: + return YES; + default: + return NO; + } +} + +#pragma mark - RMTPayload + +@implementation RMTPayload + +@dynamic type; +@dynamic body; + +typedef struct RMTPayload_Storage { + uint32_t _has_storage_[1]; + RMTPayloadType type; + NSData *body; +} RMTPayload_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "type", + .number = RMTPayload_FieldNumber_Type, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .type = GPBTypeEnum, + .offset = offsetof(RMTPayload_Storage, type), + .defaultValue.valueEnum = RMTPayloadType_Compressable, + .typeSpecific.enumDescFunc = RMTPayloadType_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "body", + .number = RMTPayload_FieldNumber_Body, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeData, + .offset = offsetof(RMTPayload_Storage, body), + .defaultValue.valueData = nil, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTPayload class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTPayload_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +int32_t RMTPayload_Type_RawValue(RMTPayload *message) { + GPBDescriptor *descriptor = [RMTPayload descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:RMTPayload_FieldNumber_Type]; + return GPBGetInt32IvarWithField(message, field); +} + +void SetRMTPayload_Type_RawValue(RMTPayload *message, int32_t value) { + GPBDescriptor *descriptor = [RMTPayload descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:RMTPayload_FieldNumber_Type]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); +} + +#pragma mark - RMTSimpleRequest + +@implementation RMTSimpleRequest + +@dynamic responseType; +@dynamic responseSize; +@dynamic hasPayload, payload; +@dynamic fillUsername; +@dynamic fillOauthScope; + +typedef struct RMTSimpleRequest_Storage { + uint32_t _has_storage_[1]; + BOOL fillUsername; + BOOL fillOauthScope; + RMTPayloadType responseType; + int32_t responseSize; + RMTPayload *payload; +} RMTSimpleRequest_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "responseType", + .number = RMTSimpleRequest_FieldNumber_ResponseType, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .type = GPBTypeEnum, + .offset = offsetof(RMTSimpleRequest_Storage, responseType), + .defaultValue.valueEnum = RMTPayloadType_Compressable, + .typeSpecific.enumDescFunc = RMTPayloadType_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "responseSize", + .number = RMTSimpleRequest_FieldNumber_ResponseSize, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RMTSimpleRequest_Storage, responseSize), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "payload", + .number = RMTSimpleRequest_FieldNumber_Payload, + .hasIndex = 2, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RMTSimpleRequest_Storage, payload), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RMTPayload), + .fieldOptions = NULL, + }, + { + .name = "fillUsername", + .number = RMTSimpleRequest_FieldNumber_FillUsername, + .hasIndex = 3, + .flags = GPBFieldOptional, + .type = GPBTypeBool, + .offset = offsetof(RMTSimpleRequest_Storage, fillUsername), + .defaultValue.valueBool = NO, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "fillOauthScope", + .number = RMTSimpleRequest_FieldNumber_FillOauthScope, + .hasIndex = 4, + .flags = GPBFieldOptional, + .type = GPBTypeBool, + .offset = offsetof(RMTSimpleRequest_Storage, fillOauthScope), + .defaultValue.valueBool = NO, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTSimpleRequest class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTSimpleRequest_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +int32_t RMTSimpleRequest_ResponseType_RawValue(RMTSimpleRequest *message) { + GPBDescriptor *descriptor = [RMTSimpleRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:RMTSimpleRequest_FieldNumber_ResponseType]; + return GPBGetInt32IvarWithField(message, field); +} + +void SetRMTSimpleRequest_ResponseType_RawValue(RMTSimpleRequest *message, int32_t value) { + GPBDescriptor *descriptor = [RMTSimpleRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:RMTSimpleRequest_FieldNumber_ResponseType]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); +} + +#pragma mark - RMTSimpleResponse + +@implementation RMTSimpleResponse + +@dynamic hasPayload, payload; +@dynamic username; +@dynamic oauthScope; + +typedef struct RMTSimpleResponse_Storage { + uint32_t _has_storage_[1]; + RMTPayload *payload; + NSString *username; + NSString *oauthScope; +} RMTSimpleResponse_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "payload", + .number = RMTSimpleResponse_FieldNumber_Payload, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RMTSimpleResponse_Storage, payload), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RMTPayload), + .fieldOptions = NULL, + }, + { + .name = "username", + .number = RMTSimpleResponse_FieldNumber_Username, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeString, + .offset = offsetof(RMTSimpleResponse_Storage, username), + .defaultValue.valueString = nil, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "oauthScope", + .number = RMTSimpleResponse_FieldNumber_OauthScope, + .hasIndex = 2, + .flags = GPBFieldOptional, + .type = GPBTypeString, + .offset = offsetof(RMTSimpleResponse_Storage, oauthScope), + .defaultValue.valueString = nil, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTSimpleResponse class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTSimpleResponse_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RMTStreamingInputCallRequest + +@implementation RMTStreamingInputCallRequest + +@dynamic hasPayload, payload; + +typedef struct RMTStreamingInputCallRequest_Storage { + uint32_t _has_storage_[1]; + RMTPayload *payload; +} RMTStreamingInputCallRequest_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "payload", + .number = RMTStreamingInputCallRequest_FieldNumber_Payload, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RMTStreamingInputCallRequest_Storage, payload), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RMTPayload), + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTStreamingInputCallRequest class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTStreamingInputCallRequest_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RMTStreamingInputCallResponse + +@implementation RMTStreamingInputCallResponse + +@dynamic aggregatedPayloadSize; + +typedef struct RMTStreamingInputCallResponse_Storage { + uint32_t _has_storage_[1]; + int32_t aggregatedPayloadSize; +} RMTStreamingInputCallResponse_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "aggregatedPayloadSize", + .number = RMTStreamingInputCallResponse_FieldNumber_AggregatedPayloadSize, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RMTStreamingInputCallResponse_Storage, aggregatedPayloadSize), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTStreamingInputCallResponse class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTStreamingInputCallResponse_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RMTResponseParameters + +@implementation RMTResponseParameters + +@dynamic size; +@dynamic intervalUs; + +typedef struct RMTResponseParameters_Storage { + uint32_t _has_storage_[1]; + int32_t size; + int32_t intervalUs; +} RMTResponseParameters_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "size", + .number = RMTResponseParameters_FieldNumber_Size, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RMTResponseParameters_Storage, size), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "intervalUs", + .number = RMTResponseParameters_FieldNumber_IntervalUs, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RMTResponseParameters_Storage, intervalUs), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTResponseParameters class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTResponseParameters_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RMTStreamingOutputCallRequest + +@implementation RMTStreamingOutputCallRequest + +@dynamic responseType; +@dynamic responseParametersArray; +@dynamic hasPayload, payload; + +typedef struct RMTStreamingOutputCallRequest_Storage { + uint32_t _has_storage_[1]; + RMTPayloadType responseType; + NSMutableArray *responseParametersArray; + RMTPayload *payload; +} RMTStreamingOutputCallRequest_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "responseType", + .number = RMTStreamingOutputCallRequest_FieldNumber_ResponseType, + .hasIndex = 0, + .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor, + .type = GPBTypeEnum, + .offset = offsetof(RMTStreamingOutputCallRequest_Storage, responseType), + .defaultValue.valueEnum = RMTPayloadType_Compressable, + .typeSpecific.enumDescFunc = RMTPayloadType_EnumDescriptor, + .fieldOptions = NULL, + }, + { + .name = "responseParametersArray", + .number = RMTStreamingOutputCallRequest_FieldNumber_ResponseParametersArray, + .hasIndex = GPBNoHasBit, + .flags = GPBFieldRepeated, + .type = GPBTypeMessage, + .offset = offsetof(RMTStreamingOutputCallRequest_Storage, responseParametersArray), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RMTResponseParameters), + .fieldOptions = NULL, + }, + { + .name = "payload", + .number = RMTStreamingOutputCallRequest_FieldNumber_Payload, + .hasIndex = 2, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RMTStreamingOutputCallRequest_Storage, payload), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RMTPayload), + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTStreamingOutputCallRequest class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTStreamingOutputCallRequest_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +int32_t RMTStreamingOutputCallRequest_ResponseType_RawValue(RMTStreamingOutputCallRequest *message) { + GPBDescriptor *descriptor = [RMTStreamingOutputCallRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:RMTStreamingOutputCallRequest_FieldNumber_ResponseType]; + return GPBGetInt32IvarWithField(message, field); +} + +void SetRMTStreamingOutputCallRequest_ResponseType_RawValue(RMTStreamingOutputCallRequest *message, int32_t value) { + GPBDescriptor *descriptor = [RMTStreamingOutputCallRequest descriptor]; + GPBFieldDescriptor *field = [descriptor fieldWithNumber:RMTStreamingOutputCallRequest_FieldNumber_ResponseType]; + GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax); +} + +#pragma mark - RMTStreamingOutputCallResponse + +@implementation RMTStreamingOutputCallResponse + +@dynamic hasPayload, payload; + +typedef struct RMTStreamingOutputCallResponse_Storage { + uint32_t _has_storage_[1]; + RMTPayload *payload; +} RMTStreamingOutputCallResponse_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "payload", + .number = RMTStreamingOutputCallResponse_FieldNumber_Payload, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RMTStreamingOutputCallResponse_Storage, payload), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RMTPayload), + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RMTStreamingOutputCallResponse class] + rootClass:[RMTMessagesRoot class] + file:RMTMessagesRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RMTStreamingOutputCallResponse_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + diff --git a/src/objective-c/examples/Sample/RemoteTestClient/RemoteTest.podspec b/src/objective-c/examples/Sample/RemoteTestClient/RemoteTest.podspec index 7b025ce252..36c2b509e8 100644 --- a/src/objective-c/examples/Sample/RemoteTestClient/RemoteTest.podspec +++ b/src/objective-c/examples/Sample/RemoteTestClient/RemoteTest.podspec @@ -6,13 +6,19 @@ Pod::Spec.new do |s| s.license = 'New BSD' s.authors = { 'Jorge Canizales' => 'jcanizales@google.com' } - s.source_files = '*.pb.{h,m}' - s.public_header_files = '*.pb.h' - - s.platform = :ios s.ios.deployment_target = '6.0' - s.requires_arc = true + s.osx.deployment_target = '10.8' + + s.subspec 'Messages' do |ms| + ms.source_files = '*.pbobjc.{h,m}' + ms.requires_arc = false + ms.dependency 'Protobuf', '~> 3.0' + end - s.dependency 'ProtocolBuffers', '~> 1.9' - s.dependency 'gRPC', '~> 0.0' + s.subspec 'Services' do |ss| + ss.source_files = '*.pbrpc.{h,m}' + ss.requires_arc = true + ss.dependency 'gRPC', '~> 0.0' + ss.dependency 'RemoteTest/Messages' + end end diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.h b/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.h deleted file mode 100644 index b6111b15b8..0000000000 --- a/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.h +++ /dev/null @@ -1,167 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import <ProtocolBuffers/ProtocolBuffers.h> - -#import "Empty.pb.h" -#import "Messages.pb.h" -#import <gRPC/ProtoService.h> -// @@protoc_insertion_point(imports) - -@class ObjectiveCFileOptions; -@class ObjectiveCFileOptionsBuilder; -@class PBDescriptorProto; -@class PBDescriptorProtoBuilder; -@class PBDescriptorProtoExtensionRange; -@class PBDescriptorProtoExtensionRangeBuilder; -@class PBEnumDescriptorProto; -@class PBEnumDescriptorProtoBuilder; -@class PBEnumOptions; -@class PBEnumOptionsBuilder; -@class PBEnumValueDescriptorProto; -@class PBEnumValueDescriptorProtoBuilder; -@class PBEnumValueOptions; -@class PBEnumValueOptionsBuilder; -@class PBFieldDescriptorProto; -@class PBFieldDescriptorProtoBuilder; -@class PBFieldOptions; -@class PBFieldOptionsBuilder; -@class PBFileDescriptorProto; -@class PBFileDescriptorProtoBuilder; -@class PBFileDescriptorSet; -@class PBFileDescriptorSetBuilder; -@class PBFileOptions; -@class PBFileOptionsBuilder; -@class PBMessageOptions; -@class PBMessageOptionsBuilder; -@class PBMethodDescriptorProto; -@class PBMethodDescriptorProtoBuilder; -@class PBMethodOptions; -@class PBMethodOptionsBuilder; -@class PBOneofDescriptorProto; -@class PBOneofDescriptorProtoBuilder; -@class PBServiceDescriptorProto; -@class PBServiceDescriptorProtoBuilder; -@class PBServiceOptions; -@class PBServiceOptionsBuilder; -@class PBSourceCodeInfo; -@class PBSourceCodeInfoBuilder; -@class PBSourceCodeInfoLocation; -@class PBSourceCodeInfoLocationBuilder; -@class PBUninterpretedOption; -@class PBUninterpretedOptionBuilder; -@class PBUninterpretedOptionNamePart; -@class PBUninterpretedOptionNamePartBuilder; -@class RMTEmpty; -@class RMTEmptyBuilder; -@class RMTPayload; -@class RMTPayloadBuilder; -@class RMTResponseParameters; -@class RMTResponseParametersBuilder; -@class RMTSimpleRequest; -@class RMTSimpleRequestBuilder; -@class RMTSimpleResponse; -@class RMTSimpleResponseBuilder; -@class RMTStreamingInputCallRequest; -@class RMTStreamingInputCallRequestBuilder; -@class RMTStreamingInputCallResponse; -@class RMTStreamingInputCallResponseBuilder; -@class RMTStreamingOutputCallRequest; -@class RMTStreamingOutputCallRequestBuilder; -@class RMTStreamingOutputCallResponse; -@class RMTStreamingOutputCallResponseBuilder; - - - -@interface RMTTestRoot : NSObject { -} -+ (PBExtensionRegistry*) extensionRegistry; -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry; -@end - - - -@protocol GRXWriteable; -@protocol GRXWriter; - -@protocol RMTTestService <NSObject> - -#pragma mark EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty) - -// One empty request followed by one empty response. -- (void)emptyCallWithRequest:(RMTEmpty *)request - handler:(void(^)(RMTEmpty *response, NSError *error))handler; - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToEmptyCallWithRequest:(RMTEmpty *)request - handler:(void(^)(RMTEmpty *response, NSError *error))handler; - - -#pragma mark UnaryCall(SimpleRequest) returns (SimpleResponse) - -// One request followed by one response. -- (void)unaryCallWithRequest:(RMTSimpleRequest *)request - handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler; - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToUnaryCallWithRequest:(RMTSimpleRequest *)request - handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler; - - -#pragma mark StreamingOutputCall(StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) - -// One request followed by a sequence of responses (streamed download). -// The server returns the payload with client desired type and sizes. -- (void)streamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToStreamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; - - -#pragma mark StreamingInputCall(stream StreamingInputCallRequest) returns (StreamingInputCallResponse) - -// A sequence of requests followed by one response (streamed upload). -// The server returns the aggregated size of client payload as the result. -- (void)streamingInputCallWithRequestsWriter:(id<GRXWriter>)request - handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler; - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToStreamingInputCallWithRequestsWriter:(id<GRXWriter>)request - handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler; - - -#pragma mark FullDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) - -// A sequence of requests with each request served by the server immediately. -// As one request could lead to multiple responses, this interface -// demonstrates the idea of full duplexing. -- (void)fullDuplexCallWithRequestsWriter:(id<GRXWriter>)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToFullDuplexCallWithRequestsWriter:(id<GRXWriter>)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; - - -#pragma mark HalfDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) - -// A sequence of requests followed by a sequence of responses. -// The server buffers all the client requests and then serves them in order. A -// stream of responses are returned to the client when the server starts with -// first request. -- (void)halfDuplexCallWithRequestsWriter:(id<GRXWriter>)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToHalfDuplexCallWithRequestsWriter:(id<GRXWriter>)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; - -@end - -// Basic service implementation, over gRPC, that only does marshalling and parsing. -@interface RMTTestService : ProtoService<RMTTestService> -- (instancetype)initWithHost:(NSString *)host NS_DESIGNATED_INITIALIZER; -@end - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m b/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m deleted file mode 100644 index 31a3ba3a61..0000000000 --- a/src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m +++ /dev/null @@ -1,163 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import "Test.pb.h" - -#import <gRPC/GRXWriteable.h> -#import <gRPC/GRXWriter+Immediate.h> -#import <gRPC/ProtoRPC.h> -// @@protoc_insertion_point(imports) - -@implementation RMTTestRoot -static PBExtensionRegistry* extensionRegistry = nil; -+ (PBExtensionRegistry*) extensionRegistry { - return extensionRegistry; -} - -+ (void) initialize { - if (self == [RMTTestRoot class]) { - PBMutableExtensionRegistry* registry = [PBMutableExtensionRegistry registry]; - [self registerAllExtensions:registry]; - [RMTEmptyRoot registerAllExtensions:registry]; - [RMTMessagesRoot registerAllExtensions:registry]; - [ObjectivecDescriptorRoot registerAllExtensions:registry]; - extensionRegistry = registry; - } -} -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry { -} -@end - - -static NSString *const kPackageName = @"grpc.testing"; -static NSString *const kServiceName = @"TestService"; - -@implementation RMTTestService - -// Designated initializer -- (instancetype)initWithHost:(NSString *)host { - return (self = [super initWithHost:host packageName:kPackageName serviceName:kServiceName]); -} - -- (instancetype)initWithHost:(NSString *)host - packageName:(NSString *)packageName - serviceName:(NSString *)serviceName { - return [self initWithHost:host]; -} - -#pragma mark EmptyCall(grpc.testing.Empty) returns (grpc.testing.Empty) - -// One empty request followed by one empty response. -- (void)emptyCallWithRequest:(RMTEmpty *)request - handler:(void(^)(RMTEmpty *response, NSError *error))handler { - [[self RPCToEmptyCallWithRequest:request handler:handler] start]; -} - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToEmptyCallWithRequest:(RMTEmpty *)request - handler:(void(^)(RMTEmpty *response, NSError *error))handler { - return [self RPCToMethod:@"EmptyCall" - requestsWriter:[GRXWriter writerWithValue:request] - responseClass:[RMTEmpty class] - responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; -} - - -#pragma mark UnaryCall(SimpleRequest) returns (SimpleResponse) - -// One request followed by one response. -- (void)unaryCallWithRequest:(RMTSimpleRequest *)request - handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler { - [[self RPCToUnaryCallWithRequest:request handler:handler] start]; -} - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToUnaryCallWithRequest:(RMTSimpleRequest *)request - handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler { - return [self RPCToMethod:@"UnaryCall" - requestsWriter:[GRXWriter writerWithValue:request] - responseClass:[RMTSimpleResponse class] - responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; -} - - -#pragma mark StreamingOutputCall(StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) - -// One request followed by a sequence of responses (streamed download). -// The server returns the payload with client desired type and sizes. -- (void)streamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler { - [[self RPCToStreamingOutputCallWithRequest:request handler:handler] start]; -} - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToStreamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler { - return [self RPCToMethod:@"StreamingOutputCall" - requestsWriter:[GRXWriter writerWithValue:request] - responseClass:[RMTStreamingOutputCallResponse class] - responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; -} - - -#pragma mark StreamingInputCall(stream StreamingInputCallRequest) returns (StreamingInputCallResponse) - -// A sequence of requests followed by one response (streamed upload). -// The server returns the aggregated size of client payload as the result. -- (void)streamingInputCallWithRequestsWriter:(id<GRXWriter>)requestsWriter - handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler { - [[self RPCToStreamingInputCallWithRequestsWriter:requestsWriter handler:handler] start]; -} - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToStreamingInputCallWithRequestsWriter:(id<GRXWriter>)requestsWriter - handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler { - return [self RPCToMethod:@"StreamingInputCall" - requestsWriter:requestsWriter - responseClass:[RMTStreamingInputCallResponse class] - responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; -} - - -#pragma mark FullDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) - -// A sequence of requests with each request served by the server immediately. -// As one request could lead to multiple responses, this interface -// demonstrates the idea of full duplexing. -- (void)fullDuplexCallWithRequestsWriter:(id<GRXWriter>)requestsWriter - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler { - [[self RPCToFullDuplexCallWithRequestsWriter:requestsWriter handler:handler] start]; -} - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToFullDuplexCallWithRequestsWriter:(id<GRXWriter>)requestsWriter - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler { - return [self RPCToMethod:@"FullDuplexCall" - requestsWriter:requestsWriter - responseClass:[RMTStreamingOutputCallResponse class] - responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; -} - - -#pragma mark HalfDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) - -// A sequence of requests followed by a sequence of responses. -// The server buffers all the client requests and then serves them in order. A -// stream of responses are returned to the client when the server starts with -// first request. -- (void)halfDuplexCallWithRequestsWriter:(id<GRXWriter>)requestsWriter - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler { - [[self RPCToHalfDuplexCallWithRequestsWriter:requestsWriter handler:handler] start]; -} - -// Returns a not-yet-started RPC object. -- (ProtoRPC *)RPCToHalfDuplexCallWithRequestsWriter:(id<GRXWriter>)requestsWriter - handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler { - return [self RPCToMethod:@"HalfDuplexCall" - requestsWriter:requestsWriter - responseClass:[RMTStreamingOutputCallResponse class] - responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; -} - -@end - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.h b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.h new file mode 100644 index 0000000000..aaa0b6ce2d --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.h @@ -0,0 +1,12 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: test.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +CF_EXTERN_C_BEGIN + +CF_EXTERN_C_END diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.m b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.m new file mode 100644 index 0000000000..08562b828a --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.m @@ -0,0 +1,9 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: test.proto + +// File empty because all messages, extensions and enum have been filtered. + + +// Dummy symbol that will be stripped but will avoid linker warnings about +// no symbols in the .o form compiling this file. +static int RMTTestRoot_dummy __attribute__((unused,used)) = 0; diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.h b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.h new file mode 100644 index 0000000000..f799c4fc92 --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.h @@ -0,0 +1,59 @@ +#import "Test.pbobjc.h" +#import <gRPC/ProtoService.h> + +#import "Empty.pbobjc.h" +#import "Messages.pbobjc.h" + +@protocol GRXWriteable; +@protocol GRXWriter; + +@protocol RMTTestService <NSObject> + +#pragma mark EmptyCall(Empty) returns (Empty) + +- (void)emptyCallWithRequest:(RMTEmpty *)request handler:(void(^)(RMTEmpty *response, NSError *error))handler; + +- (ProtoRPC *)RPCToEmptyCallWithRequest:(RMTEmpty *)request handler:(void(^)(RMTEmpty *response, NSError *error))handler; + + +#pragma mark UnaryCall(SimpleRequest) returns (SimpleResponse) + +- (void)unaryCallWithRequest:(RMTSimpleRequest *)request handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler; + +- (ProtoRPC *)RPCToUnaryCallWithRequest:(RMTSimpleRequest *)request handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler; + + +#pragma mark StreamingOutputCall(StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) + +- (void)streamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; + +- (ProtoRPC *)RPCToStreamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; + + +#pragma mark StreamingInputCall(stream StreamingInputCallRequest) returns (StreamingInputCallResponse) + +- (void)streamingInputCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler; + +- (ProtoRPC *)RPCToStreamingInputCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler; + + +#pragma mark FullDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) + +- (void)fullDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; + +- (ProtoRPC *)RPCToFullDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; + + +#pragma mark HalfDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) + +- (void)halfDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; + +- (ProtoRPC *)RPCToHalfDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler; + + +@end + +// Basic service implementation, over gRPC, that only does marshalling and parsing. +@interface RMTTestService : ProtoService<RMTTestService> +- (instancetype)initWithHost:(NSString *)host NS_DESIGNATED_INITIALIZER; +@end diff --git a/src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.m b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.m new file mode 100644 index 0000000000..faba07769e --- /dev/null +++ b/src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.m @@ -0,0 +1,96 @@ +#import "Test.pbrpc.h" +#import <gRPC/GRXWriteable.h> +#import <gRPC/GRXWriter+Immediate.h> +#import <gRPC/ProtoRPC.h> + +static NSString *const kPackageName = @"grpc.testing"; +static NSString *const kServiceName = @"TestService"; + +@implementation RMTTestService + +// Designated initializer +- (instancetype)initWithHost:(NSString *)host { + return (self = [super initWithHost:host packageName:kPackageName serviceName:kServiceName]); +} + +// Override superclass initializer to disallow different package and service names. +- (instancetype)initWithHost:(NSString *)host + packageName:(NSString *)packageName + serviceName:(NSString *)serviceName { + return [self initWithHost:host]; +} + + +#pragma mark EmptyCall(Empty) returns (Empty) + +- (void)emptyCallWithRequest:(RMTEmpty *)request handler:(void(^)(RMTEmpty *response, NSError *error))handler{ + [[self RPCToEmptyCallWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToEmptyCallWithRequest:(RMTEmpty *)request handler:(void(^)(RMTEmpty *response, NSError *error))handler{ + return [self RPCToMethod:@"EmptyCall" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[RMTEmpty class] + responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; +} +#pragma mark UnaryCall(SimpleRequest) returns (SimpleResponse) + +- (void)unaryCallWithRequest:(RMTSimpleRequest *)request handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler{ + [[self RPCToUnaryCallWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToUnaryCallWithRequest:(RMTSimpleRequest *)request handler:(void(^)(RMTSimpleResponse *response, NSError *error))handler{ + return [self RPCToMethod:@"UnaryCall" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[RMTSimpleResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; +} +#pragma mark StreamingOutputCall(StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) + +- (void)streamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler{ + [[self RPCToStreamingOutputCallWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToStreamingOutputCallWithRequest:(RMTStreamingOutputCallRequest *)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler{ + return [self RPCToMethod:@"StreamingOutputCall" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[RMTStreamingOutputCallResponse class] + responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; +} +#pragma mark StreamingInputCall(stream StreamingInputCallRequest) returns (StreamingInputCallResponse) + +- (void)streamingInputCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler{ + [[self RPCToStreamingInputCallWithRequestsWriter:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToStreamingInputCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RMTStreamingInputCallResponse *response, NSError *error))handler{ + return [self RPCToMethod:@"StreamingInputCall" + requestsWriter:request + responseClass:[RMTStreamingInputCallResponse class] + responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; +} +#pragma mark FullDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) + +- (void)fullDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler{ + [[self RPCToFullDuplexCallWithRequestsWriter:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToFullDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler{ + return [self RPCToMethod:@"FullDuplexCall" + requestsWriter:request + responseClass:[RMTStreamingOutputCallResponse class] + responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; +} +#pragma mark HalfDuplexCall(stream StreamingOutputCallRequest) returns (stream StreamingOutputCallResponse) + +- (void)halfDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler{ + [[self RPCToHalfDuplexCallWithRequestsWriter:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToHalfDuplexCallWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error))handler{ + return [self RPCToMethod:@"HalfDuplexCall" + requestsWriter:request + responseClass:[RMTStreamingOutputCallResponse class] + responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; +} +@end diff --git a/src/objective-c/examples/Sample/RemoteTestClient/empty.proto b/src/objective-c/examples/Sample/RemoteTestClient/empty.proto index 3b626ab131..a678048289 100644 --- a/src/objective-c/examples/Sample/RemoteTestClient/empty.proto +++ b/src/objective-c/examples/Sample/RemoteTestClient/empty.proto @@ -27,13 +27,11 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -syntax = "proto2"; - -import "google/protobuf/objectivec-descriptor.proto"; +syntax = "proto3"; package grpc.testing; -option (google.protobuf.objectivec_file_options).class_prefix = "RMT"; +option objc_class_prefix = "RMT"; // An empty message that you can re-use to avoid defining duplicated empty // messages in your project. A typical example is to use it as argument or the diff --git a/src/objective-c/examples/Sample/RemoteTestClient/messages.proto b/src/objective-c/examples/Sample/RemoteTestClient/messages.proto index ab8577401f..85d93c2ff9 100644 --- a/src/objective-c/examples/Sample/RemoteTestClient/messages.proto +++ b/src/objective-c/examples/Sample/RemoteTestClient/messages.proto @@ -29,13 +29,11 @@ // Message definitions to be used by integration test service definitions. -syntax = "proto2"; - -import "google/protobuf/objectivec-descriptor.proto"; +syntax = "proto3"; package grpc.testing; -option (google.protobuf.objectivec_file_options).class_prefix = "RMT"; +option objc_class_prefix = "RMT"; // The type of payload that should be returned. enum PayloadType { @@ -52,46 +50,46 @@ enum PayloadType { // A block of data, to simply increase gRPC message size. message Payload { // The type of data in body. - optional PayloadType type = 1; + PayloadType type = 1; // Primary contents of payload. - optional bytes body = 2; + bytes body = 2; } // Unary request. message SimpleRequest { // Desired payload type in the response from the server. // If response_type is RANDOM, server randomly chooses one from other formats. - optional PayloadType response_type = 1; + PayloadType response_type = 1; // Desired payload size in the response from the server. // If response_type is COMPRESSABLE, this denotes the size before compression. - optional int32 response_size = 2; + int32 response_size = 2; // Optional input payload sent along with the request. - optional Payload payload = 3; + Payload payload = 3; // Whether SimpleResponse should include username. - optional bool fill_username = 4; + bool fill_username = 4; // Whether SimpleResponse should include OAuth scope. - optional bool fill_oauth_scope = 5; + bool fill_oauth_scope = 5; } // Unary response, as configured by the request. message SimpleResponse { // Payload to increase message size. - optional Payload payload = 1; + Payload payload = 1; // The user the request came from, for verifying authentication was // successful when the client expected it. - optional string username = 2; + string username = 2; // OAuth scope. - optional string oauth_scope = 3; + string oauth_scope = 3; } // Client-streaming request. message StreamingInputCallRequest { // Optional input payload sent along with the request. - optional Payload payload = 1; + Payload payload = 1; // Not expecting any payload from the response. } @@ -99,18 +97,18 @@ message StreamingInputCallRequest { // Client-streaming response. message StreamingInputCallResponse { // Aggregated size of payloads received from the client. - optional int32 aggregated_payload_size = 1; + int32 aggregated_payload_size = 1; } // Configuration for a particular response. message ResponseParameters { // Desired payload sizes in responses from the server. // If response_type is COMPRESSABLE, this denotes the size before compression. - optional int32 size = 1; + int32 size = 1; // Desired interval between consecutive responses in the response stream in // microseconds. - optional int32 interval_us = 2; + int32 interval_us = 2; } // Server-streaming request. @@ -119,17 +117,17 @@ message StreamingOutputCallRequest { // If response_type is RANDOM, the payload from each response in the stream // might be of different types. This is to simulate a mixed type of payload // stream. - optional PayloadType response_type = 1; + PayloadType response_type = 1; // Configuration for each expected response message. repeated ResponseParameters response_parameters = 2; // Optional input payload sent along with the request. - optional Payload payload = 3; + Payload payload = 3; } // Server-streaming response, as configured by the request and parameters. message StreamingOutputCallResponse { // Payload to increase response size. - optional Payload payload = 1; + Payload payload = 1; } diff --git a/src/objective-c/examples/Sample/RemoteTestClient/test.proto b/src/objective-c/examples/Sample/RemoteTestClient/test.proto index 4b08220599..2f5a5489b3 100644 --- a/src/objective-c/examples/Sample/RemoteTestClient/test.proto +++ b/src/objective-c/examples/Sample/RemoteTestClient/test.proto @@ -29,15 +29,14 @@ // An integration test service that covers all the method signature permutations // of unary/streaming requests/responses. -syntax = "proto2"; +syntax = "proto3"; import "empty.proto"; import "messages.proto"; -import "google/protobuf/objectivec-descriptor.proto"; package grpc.testing; -option (google.protobuf.objectivec_file_options).class_prefix = "RMT"; +option objc_class_prefix = "RMT"; // A simple service to test the various types of RPCs and experiment with // performance with various types of payload. @@ -51,24 +50,24 @@ service TestService { // One request followed by a sequence of responses (streamed download). // The server returns the payload with client desired type and sizes. -// rpc StreamingOutputCall(StreamingOutputCallRequest) -// returns (stream StreamingOutputCallResponse); + rpc StreamingOutputCall(StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); // A sequence of requests followed by one response (streamed upload). // The server returns the aggregated size of client payload as the result. -// rpc StreamingInputCall(stream StreamingInputCallRequest) -// returns (StreamingInputCallResponse); + rpc StreamingInputCall(stream StreamingInputCallRequest) + returns (StreamingInputCallResponse); // A sequence of requests with each request served by the server immediately. // As one request could lead to multiple responses, this interface // demonstrates the idea of full duplexing. -// rpc FullDuplexCall(stream StreamingOutputCallRequest) -// returns (stream StreamingOutputCallResponse); + rpc FullDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); // A sequence of requests followed by a sequence of responses. // The server buffers all the client requests and then serves them in order. A // stream of responses are returned to the client when the server starts with // first request. -// rpc HalfDuplexCall(stream StreamingOutputCallRequest) -// returns (stream StreamingOutputCallResponse); + rpc HalfDuplexCall(stream StreamingOutputCallRequest) + returns (stream StreamingOutputCallResponse); } diff --git a/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.h b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.h new file mode 100644 index 0000000000..6efaec7f02 --- /dev/null +++ b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.h @@ -0,0 +1,134 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: route_guide.proto + +#import "GPBProtocolBuffers.h" + +#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000 +#error This file was generated by a different version of protoc-gen-objc which is incompatible with your Protocol Buffer sources. +#endif + +CF_EXTERN_C_BEGIN + +@class RGDFeature; +@class RGDPoint; +@class RGDRectangle; +@class RGDRouteNote; +@class RGDRouteSummary; + + +#pragma mark - RGDRouteGuideRoot + +@interface RGDRouteGuideRoot : GPBRootObject +@end + +#pragma mark - RGDPoint + +typedef GPB_ENUM(RGDPoint_FieldNumber) { + RGDPoint_FieldNumber_Latitude = 1, + RGDPoint_FieldNumber_Longitude = 2, +}; + +// Points are represented as latitude-longitude pairs in the E7 representation +// (degrees multiplied by 10**7 and rounded to the nearest integer). +// Latitudes should be in the range +/- 90 degrees and longitude should be in +// the range +/- 180 degrees (inclusive). +@interface RGDPoint : GPBMessage + +@property(nonatomic, readwrite) int32_t latitude; + +@property(nonatomic, readwrite) int32_t longitude; + +@end + +#pragma mark - RGDRectangle + +typedef GPB_ENUM(RGDRectangle_FieldNumber) { + RGDRectangle_FieldNumber_Lo = 1, + RGDRectangle_FieldNumber_Hi = 2, +}; + +// A latitude-longitude rectangle, represented as two diagonally opposite +// points "lo" and "hi". +@interface RGDRectangle : GPBMessage + +// One corner of the rectangle. +@property(nonatomic, readwrite) BOOL hasLo; +@property(nonatomic, readwrite, strong) RGDPoint *lo; + +// The other corner of the rectangle. +@property(nonatomic, readwrite) BOOL hasHi; +@property(nonatomic, readwrite, strong) RGDPoint *hi; + +@end + +#pragma mark - RGDFeature + +typedef GPB_ENUM(RGDFeature_FieldNumber) { + RGDFeature_FieldNumber_Name = 1, + RGDFeature_FieldNumber_Location = 2, +}; + +// A feature names something at a given point. +// +// If a feature could not be named, the name is empty. +@interface RGDFeature : GPBMessage + +// The name of the feature. +@property(nonatomic, readwrite, copy) NSString *name; + +// The point where the feature is detected. +@property(nonatomic, readwrite) BOOL hasLocation; +@property(nonatomic, readwrite, strong) RGDPoint *location; + +@end + +#pragma mark - RGDRouteNote + +typedef GPB_ENUM(RGDRouteNote_FieldNumber) { + RGDRouteNote_FieldNumber_Location = 1, + RGDRouteNote_FieldNumber_Message = 2, +}; + +// A RouteNote is a message sent while at a given point. +@interface RGDRouteNote : GPBMessage + +// The location from which the message is sent. +@property(nonatomic, readwrite) BOOL hasLocation; +@property(nonatomic, readwrite, strong) RGDPoint *location; + +// The message to be sent. +@property(nonatomic, readwrite, copy) NSString *message; + +@end + +#pragma mark - RGDRouteSummary + +typedef GPB_ENUM(RGDRouteSummary_FieldNumber) { + RGDRouteSummary_FieldNumber_PointCount = 1, + RGDRouteSummary_FieldNumber_FeatureCount = 2, + RGDRouteSummary_FieldNumber_Distance = 3, + RGDRouteSummary_FieldNumber_ElapsedTime = 4, +}; + +// A RouteSummary is received in response to a RecordRoute rpc. +// +// It contains the number of individual points received, the number of +// detected features, and the total distance covered as the cumulative sum of +// the distance between each point. +@interface RGDRouteSummary : GPBMessage + +// The number of points received. +@property(nonatomic, readwrite) int32_t pointCount; + +// The number of known features passed while traversing the route. +@property(nonatomic, readwrite) int32_t featureCount; + +// The distance covered in metres. +@property(nonatomic, readwrite) int32_t distance; + +// The duration of the traversal in seconds. +@property(nonatomic, readwrite) int32_t elapsedTime; + +@end + +CF_EXTERN_C_END diff --git a/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.m b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.m new file mode 100644 index 0000000000..16f291a61c --- /dev/null +++ b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.m @@ -0,0 +1,355 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: route_guide.proto + +#import "GPBProtocolBuffers_RuntimeSupport.h" + +#import "RouteGuide.pbobjc.h" + +#pragma mark - RGDRouteGuideRoot + +@implementation RGDRouteGuideRoot + +@end + +static GPBFileDescriptor *RGDRouteGuideRoot_FileDescriptor(void) { + // This is called by +initialize so there is no need to worry + // about thread safety of the singleton. + static GPBFileDescriptor *descriptor = NULL; + if (!descriptor) { + descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"grpc.example.routeguide" + syntax:GPBFileSyntaxProto3]; + } + return descriptor; +} + +#pragma mark - RGDPoint + +@implementation RGDPoint + +@dynamic latitude; +@dynamic longitude; + +typedef struct RGDPoint_Storage { + uint32_t _has_storage_[1]; + int32_t latitude; + int32_t longitude; +} RGDPoint_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "latitude", + .number = RGDPoint_FieldNumber_Latitude, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RGDPoint_Storage, latitude), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "longitude", + .number = RGDPoint_FieldNumber_Longitude, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RGDPoint_Storage, longitude), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RGDPoint class] + rootClass:[RGDRouteGuideRoot class] + file:RGDRouteGuideRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RGDPoint_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RGDRectangle + +@implementation RGDRectangle + +@dynamic hasLo, lo; +@dynamic hasHi, hi; + +typedef struct RGDRectangle_Storage { + uint32_t _has_storage_[1]; + RGDPoint *lo; + RGDPoint *hi; +} RGDRectangle_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "lo", + .number = RGDRectangle_FieldNumber_Lo, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RGDRectangle_Storage, lo), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RGDPoint), + .fieldOptions = NULL, + }, + { + .name = "hi", + .number = RGDRectangle_FieldNumber_Hi, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RGDRectangle_Storage, hi), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RGDPoint), + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RGDRectangle class] + rootClass:[RGDRouteGuideRoot class] + file:RGDRouteGuideRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RGDRectangle_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RGDFeature + +@implementation RGDFeature + +@dynamic name; +@dynamic hasLocation, location; + +typedef struct RGDFeature_Storage { + uint32_t _has_storage_[1]; + NSString *name; + RGDPoint *location; +} RGDFeature_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "name", + .number = RGDFeature_FieldNumber_Name, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeString, + .offset = offsetof(RGDFeature_Storage, name), + .defaultValue.valueString = nil, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "location", + .number = RGDFeature_FieldNumber_Location, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RGDFeature_Storage, location), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RGDPoint), + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RGDFeature class] + rootClass:[RGDRouteGuideRoot class] + file:RGDRouteGuideRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RGDFeature_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RGDRouteNote + +@implementation RGDRouteNote + +@dynamic hasLocation, location; +@dynamic message; + +typedef struct RGDRouteNote_Storage { + uint32_t _has_storage_[1]; + RGDPoint *location; + NSString *message; +} RGDRouteNote_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "location", + .number = RGDRouteNote_FieldNumber_Location, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeMessage, + .offset = offsetof(RGDRouteNote_Storage, location), + .defaultValue.valueMessage = nil, + .typeSpecific.className = GPBStringifySymbol(RGDPoint), + .fieldOptions = NULL, + }, + { + .name = "message", + .number = RGDRouteNote_FieldNumber_Message, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeString, + .offset = offsetof(RGDRouteNote_Storage, message), + .defaultValue.valueString = nil, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RGDRouteNote class] + rootClass:[RGDRouteGuideRoot class] + file:RGDRouteGuideRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RGDRouteNote_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + +#pragma mark - RGDRouteSummary + +@implementation RGDRouteSummary + +@dynamic pointCount; +@dynamic featureCount; +@dynamic distance; +@dynamic elapsedTime; + +typedef struct RGDRouteSummary_Storage { + uint32_t _has_storage_[1]; + int32_t pointCount; + int32_t featureCount; + int32_t distance; + int32_t elapsedTime; +} RGDRouteSummary_Storage; + +// This method is threadsafe because it is initially called +// in +initialize for each subclass. ++ (GPBDescriptor *)descriptor { + static GPBDescriptor *descriptor = NULL; + if (!descriptor) { + static GPBMessageFieldDescription fields[] = { + { + .name = "pointCount", + .number = RGDRouteSummary_FieldNumber_PointCount, + .hasIndex = 0, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RGDRouteSummary_Storage, pointCount), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "featureCount", + .number = RGDRouteSummary_FieldNumber_FeatureCount, + .hasIndex = 1, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RGDRouteSummary_Storage, featureCount), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "distance", + .number = RGDRouteSummary_FieldNumber_Distance, + .hasIndex = 2, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RGDRouteSummary_Storage, distance), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + { + .name = "elapsedTime", + .number = RGDRouteSummary_FieldNumber_ElapsedTime, + .hasIndex = 3, + .flags = GPBFieldOptional, + .type = GPBTypeInt32, + .offset = offsetof(RGDRouteSummary_Storage, elapsedTime), + .defaultValue.valueInt32 = 0, + .typeSpecific.className = NULL, + .fieldOptions = NULL, + }, + }; + descriptor = [GPBDescriptor allocDescriptorForClass:[RGDRouteSummary class] + rootClass:[RGDRouteGuideRoot class] + file:RGDRouteGuideRoot_FileDescriptor() + fields:fields + fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription) + oneofs:NULL + oneofCount:0 + enums:NULL + enumCount:0 + ranges:NULL + rangeCount:0 + storageSize:sizeof(RGDRouteSummary_Storage) + wireFormat:NO]; + } + return descriptor; +} + +@end + diff --git a/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.h b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.h new file mode 100644 index 0000000000..9e60865d98 --- /dev/null +++ b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.h @@ -0,0 +1,43 @@ +#import "RouteGuide.pbobjc.h" +#import <gRPC/ProtoService.h> + + +@protocol GRXWriteable; +@protocol GRXWriter; + +@protocol RGDRouteGuide <NSObject> + +#pragma mark GetFeature(Point) returns (Feature) + +- (void)getFeatureWithRequest:(RGDPoint *)request handler:(void(^)(RGDFeature *response, NSError *error))handler; + +- (ProtoRPC *)RPCToGetFeatureWithRequest:(RGDPoint *)request handler:(void(^)(RGDFeature *response, NSError *error))handler; + + +#pragma mark ListFeatures(Rectangle) returns (stream Feature) + +- (void)listFeaturesWithRequest:(RGDRectangle *)request handler:(void(^)(BOOL done, RGDFeature *response, NSError *error))handler; + +- (ProtoRPC *)RPCToListFeaturesWithRequest:(RGDRectangle *)request handler:(void(^)(BOOL done, RGDFeature *response, NSError *error))handler; + + +#pragma mark RecordRoute(stream Point) returns (RouteSummary) + +- (void)recordRouteWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RGDRouteSummary *response, NSError *error))handler; + +- (ProtoRPC *)RPCToRecordRouteWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RGDRouteSummary *response, NSError *error))handler; + + +#pragma mark RouteChat(stream RouteNote) returns (stream RouteNote) + +- (void)routeChatWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RGDRouteNote *response, NSError *error))handler; + +- (ProtoRPC *)RPCToRouteChatWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RGDRouteNote *response, NSError *error))handler; + + +@end + +// Basic service implementation, over gRPC, that only does marshalling and parsing. +@interface RGDRouteGuide : ProtoService<RGDRouteGuide> +- (instancetype)initWithHost:(NSString *)host NS_DESIGNATED_INITIALIZER; +@end diff --git a/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.m b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.m new file mode 100644 index 0000000000..2ca3dc6768 --- /dev/null +++ b/src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.m @@ -0,0 +1,72 @@ +#import "RouteGuide.pbrpc.h" +#import <gRPC/GRXWriteable.h> +#import <gRPC/GRXWriter+Immediate.h> +#import <gRPC/ProtoRPC.h> + +static NSString *const kPackageName = @"grpc.example.routeguide"; +static NSString *const kServiceName = @"RouteGuide"; + +@implementation RGDRouteGuide + +// Designated initializer +- (instancetype)initWithHost:(NSString *)host { + return (self = [super initWithHost:host packageName:kPackageName serviceName:kServiceName]); +} + +// Override superclass initializer to disallow different package and service names. +- (instancetype)initWithHost:(NSString *)host + packageName:(NSString *)packageName + serviceName:(NSString *)serviceName { + return [self initWithHost:host]; +} + + +#pragma mark GetFeature(Point) returns (Feature) + +- (void)getFeatureWithRequest:(RGDPoint *)request handler:(void(^)(RGDFeature *response, NSError *error))handler{ + [[self RPCToGetFeatureWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToGetFeatureWithRequest:(RGDPoint *)request handler:(void(^)(RGDFeature *response, NSError *error))handler{ + return [self RPCToMethod:@"GetFeature" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[RGDFeature class] + responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; +} +#pragma mark ListFeatures(Rectangle) returns (stream Feature) + +- (void)listFeaturesWithRequest:(RGDRectangle *)request handler:(void(^)(BOOL done, RGDFeature *response, NSError *error))handler{ + [[self RPCToListFeaturesWithRequest:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToListFeaturesWithRequest:(RGDRectangle *)request handler:(void(^)(BOOL done, RGDFeature *response, NSError *error))handler{ + return [self RPCToMethod:@"ListFeatures" + requestsWriter:[GRXWriter writerWithValue:request] + responseClass:[RGDFeature class] + responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; +} +#pragma mark RecordRoute(stream Point) returns (RouteSummary) + +- (void)recordRouteWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RGDRouteSummary *response, NSError *error))handler{ + [[self RPCToRecordRouteWithRequestsWriter:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToRecordRouteWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(RGDRouteSummary *response, NSError *error))handler{ + return [self RPCToMethod:@"RecordRoute" + requestsWriter:request + responseClass:[RGDRouteSummary class] + responsesWriteable:[GRXWriteable writeableWithSingleValueHandler:handler]]; +} +#pragma mark RouteChat(stream RouteNote) returns (stream RouteNote) + +- (void)routeChatWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RGDRouteNote *response, NSError *error))handler{ + [[self RPCToRouteChatWithRequestsWriter:request handler:handler] start]; +} +// Returns a not-yet-started RPC object. +- (ProtoRPC *)RPCToRouteChatWithRequestsWriter:(id<GRXWriter>)request handler:(void(^)(BOOL done, RGDRouteNote *response, NSError *error))handler{ + return [self RPCToMethod:@"RouteChat" + requestsWriter:request + responseClass:[RGDRouteNote class] + responsesWriteable:[GRXWriteable writeableWithStreamHandler:handler]]; +} +@end diff --git a/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.h b/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.h deleted file mode 100644 index 194bfc5f2a..0000000000 --- a/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.h +++ /dev/null @@ -1,387 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import <ProtocolBuffers/ProtocolBuffers.h> - -// @@protoc_insertion_point(imports) - -@class ObjectiveCFileOptions; -@class ObjectiveCFileOptionsBuilder; -@class PBDescriptorProto; -@class PBDescriptorProtoBuilder; -@class PBDescriptorProtoExtensionRange; -@class PBDescriptorProtoExtensionRangeBuilder; -@class PBEnumDescriptorProto; -@class PBEnumDescriptorProtoBuilder; -@class PBEnumOptions; -@class PBEnumOptionsBuilder; -@class PBEnumValueDescriptorProto; -@class PBEnumValueDescriptorProtoBuilder; -@class PBEnumValueOptions; -@class PBEnumValueOptionsBuilder; -@class PBFieldDescriptorProto; -@class PBFieldDescriptorProtoBuilder; -@class PBFieldOptions; -@class PBFieldOptionsBuilder; -@class PBFileDescriptorProto; -@class PBFileDescriptorProtoBuilder; -@class PBFileDescriptorSet; -@class PBFileDescriptorSetBuilder; -@class PBFileOptions; -@class PBFileOptionsBuilder; -@class PBMessageOptions; -@class PBMessageOptionsBuilder; -@class PBMethodDescriptorProto; -@class PBMethodDescriptorProtoBuilder; -@class PBMethodOptions; -@class PBMethodOptionsBuilder; -@class PBOneofDescriptorProto; -@class PBOneofDescriptorProtoBuilder; -@class PBServiceDescriptorProto; -@class PBServiceDescriptorProtoBuilder; -@class PBServiceOptions; -@class PBServiceOptionsBuilder; -@class PBSourceCodeInfo; -@class PBSourceCodeInfoBuilder; -@class PBSourceCodeInfoLocation; -@class PBSourceCodeInfoLocationBuilder; -@class PBUninterpretedOption; -@class PBUninterpretedOptionBuilder; -@class PBUninterpretedOptionNamePart; -@class PBUninterpretedOptionNamePartBuilder; -@class RGDFeature; -@class RGDFeatureBuilder; -@class RGDPoint; -@class RGDPointBuilder; -@class RGDRectangle; -@class RGDRectangleBuilder; -@class RGDRouteNote; -@class RGDRouteNoteBuilder; -@class RGDRouteSummary; -@class RGDRouteSummaryBuilder; - - - -@interface RGDRouteGuideRoot : NSObject { -} -+ (PBExtensionRegistry*) extensionRegistry; -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry; -@end - -@interface RGDPoint : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasLatitude_:1; - BOOL hasLongitude_:1; - SInt32 latitude; - SInt32 longitude; -} -- (BOOL) hasLatitude; -- (BOOL) hasLongitude; -@property (readonly) SInt32 latitude; -@property (readonly) SInt32 longitude; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RGDPointBuilder*) builder; -+ (RGDPointBuilder*) builder; -+ (RGDPointBuilder*) builderWithPrototype:(RGDPoint*) prototype; -- (RGDPointBuilder*) toBuilder; - -+ (RGDPoint*) parseFromData:(NSData*) data; -+ (RGDPoint*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDPoint*) parseFromInputStream:(NSInputStream*) input; -+ (RGDPoint*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDPoint*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RGDPoint*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RGDPointBuilder : PBGeneratedMessageBuilder { -@private - RGDPoint* resultPoint; -} - -- (RGDPoint*) defaultInstance; - -- (RGDPointBuilder*) clear; -- (RGDPointBuilder*) clone; - -- (RGDPoint*) build; -- (RGDPoint*) buildPartial; - -- (RGDPointBuilder*) mergeFrom:(RGDPoint*) other; -- (RGDPointBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RGDPointBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasLatitude; -- (SInt32) latitude; -- (RGDPointBuilder*) setLatitude:(SInt32) value; -- (RGDPointBuilder*) clearLatitude; - -- (BOOL) hasLongitude; -- (SInt32) longitude; -- (RGDPointBuilder*) setLongitude:(SInt32) value; -- (RGDPointBuilder*) clearLongitude; -@end - -@interface RGDRectangle : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasLo_:1; - BOOL hasHi_:1; - RGDPoint* lo; - RGDPoint* hi; -} -- (BOOL) hasLo; -- (BOOL) hasHi; -@property (readonly, strong) RGDPoint* lo; -@property (readonly, strong) RGDPoint* hi; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RGDRectangleBuilder*) builder; -+ (RGDRectangleBuilder*) builder; -+ (RGDRectangleBuilder*) builderWithPrototype:(RGDRectangle*) prototype; -- (RGDRectangleBuilder*) toBuilder; - -+ (RGDRectangle*) parseFromData:(NSData*) data; -+ (RGDRectangle*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDRectangle*) parseFromInputStream:(NSInputStream*) input; -+ (RGDRectangle*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDRectangle*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RGDRectangle*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RGDRectangleBuilder : PBGeneratedMessageBuilder { -@private - RGDRectangle* resultRectangle; -} - -- (RGDRectangle*) defaultInstance; - -- (RGDRectangleBuilder*) clear; -- (RGDRectangleBuilder*) clone; - -- (RGDRectangle*) build; -- (RGDRectangle*) buildPartial; - -- (RGDRectangleBuilder*) mergeFrom:(RGDRectangle*) other; -- (RGDRectangleBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RGDRectangleBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasLo; -- (RGDPoint*) lo; -- (RGDRectangleBuilder*) setLo:(RGDPoint*) value; -- (RGDRectangleBuilder*) setLoBuilder:(RGDPointBuilder*) builderForValue; -- (RGDRectangleBuilder*) mergeLo:(RGDPoint*) value; -- (RGDRectangleBuilder*) clearLo; - -- (BOOL) hasHi; -- (RGDPoint*) hi; -- (RGDRectangleBuilder*) setHi:(RGDPoint*) value; -- (RGDRectangleBuilder*) setHiBuilder:(RGDPointBuilder*) builderForValue; -- (RGDRectangleBuilder*) mergeHi:(RGDPoint*) value; -- (RGDRectangleBuilder*) clearHi; -@end - -@interface RGDFeature : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasName_:1; - BOOL hasLocation_:1; - NSString* name; - RGDPoint* location; -} -- (BOOL) hasName; -- (BOOL) hasLocation; -@property (readonly, strong) NSString* name; -@property (readonly, strong) RGDPoint* location; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RGDFeatureBuilder*) builder; -+ (RGDFeatureBuilder*) builder; -+ (RGDFeatureBuilder*) builderWithPrototype:(RGDFeature*) prototype; -- (RGDFeatureBuilder*) toBuilder; - -+ (RGDFeature*) parseFromData:(NSData*) data; -+ (RGDFeature*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDFeature*) parseFromInputStream:(NSInputStream*) input; -+ (RGDFeature*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDFeature*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RGDFeature*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RGDFeatureBuilder : PBGeneratedMessageBuilder { -@private - RGDFeature* resultFeature; -} - -- (RGDFeature*) defaultInstance; - -- (RGDFeatureBuilder*) clear; -- (RGDFeatureBuilder*) clone; - -- (RGDFeature*) build; -- (RGDFeature*) buildPartial; - -- (RGDFeatureBuilder*) mergeFrom:(RGDFeature*) other; -- (RGDFeatureBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RGDFeatureBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasName; -- (NSString*) name; -- (RGDFeatureBuilder*) setName:(NSString*) value; -- (RGDFeatureBuilder*) clearName; - -- (BOOL) hasLocation; -- (RGDPoint*) location; -- (RGDFeatureBuilder*) setLocation:(RGDPoint*) value; -- (RGDFeatureBuilder*) setLocationBuilder:(RGDPointBuilder*) builderForValue; -- (RGDFeatureBuilder*) mergeLocation:(RGDPoint*) value; -- (RGDFeatureBuilder*) clearLocation; -@end - -@interface RGDRouteNote : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasMessage_:1; - BOOL hasLocation_:1; - NSString* message; - RGDPoint* location; -} -- (BOOL) hasLocation; -- (BOOL) hasMessage; -@property (readonly, strong) RGDPoint* location; -@property (readonly, strong) NSString* message; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RGDRouteNoteBuilder*) builder; -+ (RGDRouteNoteBuilder*) builder; -+ (RGDRouteNoteBuilder*) builderWithPrototype:(RGDRouteNote*) prototype; -- (RGDRouteNoteBuilder*) toBuilder; - -+ (RGDRouteNote*) parseFromData:(NSData*) data; -+ (RGDRouteNote*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDRouteNote*) parseFromInputStream:(NSInputStream*) input; -+ (RGDRouteNote*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDRouteNote*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RGDRouteNote*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RGDRouteNoteBuilder : PBGeneratedMessageBuilder { -@private - RGDRouteNote* resultRouteNote; -} - -- (RGDRouteNote*) defaultInstance; - -- (RGDRouteNoteBuilder*) clear; -- (RGDRouteNoteBuilder*) clone; - -- (RGDRouteNote*) build; -- (RGDRouteNote*) buildPartial; - -- (RGDRouteNoteBuilder*) mergeFrom:(RGDRouteNote*) other; -- (RGDRouteNoteBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RGDRouteNoteBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasLocation; -- (RGDPoint*) location; -- (RGDRouteNoteBuilder*) setLocation:(RGDPoint*) value; -- (RGDRouteNoteBuilder*) setLocationBuilder:(RGDPointBuilder*) builderForValue; -- (RGDRouteNoteBuilder*) mergeLocation:(RGDPoint*) value; -- (RGDRouteNoteBuilder*) clearLocation; - -- (BOOL) hasMessage; -- (NSString*) message; -- (RGDRouteNoteBuilder*) setMessage:(NSString*) value; -- (RGDRouteNoteBuilder*) clearMessage; -@end - -@interface RGDRouteSummary : PBGeneratedMessage<GeneratedMessageProtocol> { -@private - BOOL hasPointCount_:1; - BOOL hasFeatureCount_:1; - BOOL hasDistance_:1; - BOOL hasElapsedTime_:1; - SInt32 pointCount; - SInt32 featureCount; - SInt32 distance; - SInt32 elapsedTime; -} -- (BOOL) hasPointCount; -- (BOOL) hasFeatureCount; -- (BOOL) hasDistance; -- (BOOL) hasElapsedTime; -@property (readonly) SInt32 pointCount; -@property (readonly) SInt32 featureCount; -@property (readonly) SInt32 distance; -@property (readonly) SInt32 elapsedTime; - -+ (instancetype) defaultInstance; -- (instancetype) defaultInstance; - -- (BOOL) isInitialized; -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output; -- (RGDRouteSummaryBuilder*) builder; -+ (RGDRouteSummaryBuilder*) builder; -+ (RGDRouteSummaryBuilder*) builderWithPrototype:(RGDRouteSummary*) prototype; -- (RGDRouteSummaryBuilder*) toBuilder; - -+ (RGDRouteSummary*) parseFromData:(NSData*) data; -+ (RGDRouteSummary*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDRouteSummary*) parseFromInputStream:(NSInputStream*) input; -+ (RGDRouteSummary*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -+ (RGDRouteSummary*) parseFromCodedInputStream:(PBCodedInputStream*) input; -+ (RGDRouteSummary*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; -@end - -@interface RGDRouteSummaryBuilder : PBGeneratedMessageBuilder { -@private - RGDRouteSummary* resultRouteSummary; -} - -- (RGDRouteSummary*) defaultInstance; - -- (RGDRouteSummaryBuilder*) clear; -- (RGDRouteSummaryBuilder*) clone; - -- (RGDRouteSummary*) build; -- (RGDRouteSummary*) buildPartial; - -- (RGDRouteSummaryBuilder*) mergeFrom:(RGDRouteSummary*) other; -- (RGDRouteSummaryBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input; -- (RGDRouteSummaryBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry; - -- (BOOL) hasPointCount; -- (SInt32) pointCount; -- (RGDRouteSummaryBuilder*) setPointCount:(SInt32) value; -- (RGDRouteSummaryBuilder*) clearPointCount; - -- (BOOL) hasFeatureCount; -- (SInt32) featureCount; -- (RGDRouteSummaryBuilder*) setFeatureCount:(SInt32) value; -- (RGDRouteSummaryBuilder*) clearFeatureCount; - -- (BOOL) hasDistance; -- (SInt32) distance; -- (RGDRouteSummaryBuilder*) setDistance:(SInt32) value; -- (RGDRouteSummaryBuilder*) clearDistance; - -- (BOOL) hasElapsedTime; -- (SInt32) elapsedTime; -- (RGDRouteSummaryBuilder*) setElapsedTime:(SInt32) value; -- (RGDRouteSummaryBuilder*) clearElapsedTime; -@end - - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.m b/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.m deleted file mode 100644 index 63cdd00206..0000000000 --- a/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.m +++ /dev/null @@ -1,1435 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! - -#import "Route_guide.pb.h" -// @@protoc_insertion_point(imports) - -@implementation RGDRouteGuideRoot -static PBExtensionRegistry* extensionRegistry = nil; -+ (PBExtensionRegistry*) extensionRegistry { - return extensionRegistry; -} - -+ (void) initialize { - if (self == [RGDRouteGuideRoot class]) { - PBMutableExtensionRegistry* registry = [PBMutableExtensionRegistry registry]; - [self registerAllExtensions:registry]; - [ObjectivecDescriptorRoot registerAllExtensions:registry]; - extensionRegistry = registry; - } -} -+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry { -} -@end - -@interface RGDPoint () -@property SInt32 latitude; -@property SInt32 longitude; -@end - -@implementation RGDPoint - -- (BOOL) hasLatitude { - return !!hasLatitude_; -} -- (void) setHasLatitude:(BOOL) _value_ { - hasLatitude_ = !!_value_; -} -@synthesize latitude; -- (BOOL) hasLongitude { - return !!hasLongitude_; -} -- (void) setHasLongitude:(BOOL) _value_ { - hasLongitude_ = !!_value_; -} -@synthesize longitude; -- (instancetype) init { - if ((self = [super init])) { - self.latitude = 0; - self.longitude = 0; - } - return self; -} -static RGDPoint* defaultRGDPointInstance = nil; -+ (void) initialize { - if (self == [RGDPoint class]) { - defaultRGDPointInstance = [[RGDPoint alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRGDPointInstance; -} -- (instancetype) defaultInstance { - return defaultRGDPointInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasLatitude) { - [output writeInt32:1 value:self.latitude]; - } - if (self.hasLongitude) { - [output writeInt32:2 value:self.longitude]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasLatitude) { - size_ += computeInt32Size(1, self.latitude); - } - if (self.hasLongitude) { - size_ += computeInt32Size(2, self.longitude); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RGDPoint*) parseFromData:(NSData*) data { - return (RGDPoint*)[[[RGDPoint builder] mergeFromData:data] build]; -} -+ (RGDPoint*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDPoint*)[[[RGDPoint builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RGDPoint*) parseFromInputStream:(NSInputStream*) input { - return (RGDPoint*)[[[RGDPoint builder] mergeFromInputStream:input] build]; -} -+ (RGDPoint*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDPoint*)[[[RGDPoint builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDPoint*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RGDPoint*)[[[RGDPoint builder] mergeFromCodedInputStream:input] build]; -} -+ (RGDPoint*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDPoint*)[[[RGDPoint builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDPointBuilder*) builder { - return [[RGDPointBuilder alloc] init]; -} -+ (RGDPointBuilder*) builderWithPrototype:(RGDPoint*) prototype { - return [[RGDPoint builder] mergeFrom:prototype]; -} -- (RGDPointBuilder*) builder { - return [RGDPoint builder]; -} -- (RGDPointBuilder*) toBuilder { - return [RGDPoint builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasLatitude) { - [output appendFormat:@"%@%@: %@\n", indent, @"latitude", [NSNumber numberWithInteger:self.latitude]]; - } - if (self.hasLongitude) { - [output appendFormat:@"%@%@: %@\n", indent, @"longitude", [NSNumber numberWithInteger:self.longitude]]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RGDPoint class]]) { - return NO; - } - RGDPoint *otherMessage = other; - return - self.hasLatitude == otherMessage.hasLatitude && - (!self.hasLatitude || self.latitude == otherMessage.latitude) && - self.hasLongitude == otherMessage.hasLongitude && - (!self.hasLongitude || self.longitude == otherMessage.longitude) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasLatitude) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.latitude] hash]; - } - if (self.hasLongitude) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.longitude] hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RGDPointBuilder() -@property (strong) RGDPoint* resultPoint; -@end - -@implementation RGDPointBuilder -@synthesize resultPoint; -- (instancetype) init { - if ((self = [super init])) { - self.resultPoint = [[RGDPoint alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultPoint; -} -- (RGDPointBuilder*) clear { - self.resultPoint = [[RGDPoint alloc] init]; - return self; -} -- (RGDPointBuilder*) clone { - return [RGDPoint builderWithPrototype:resultPoint]; -} -- (RGDPoint*) defaultInstance { - return [RGDPoint defaultInstance]; -} -- (RGDPoint*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RGDPoint*) buildPartial { - RGDPoint* returnMe = resultPoint; - self.resultPoint = nil; - return returnMe; -} -- (RGDPointBuilder*) mergeFrom:(RGDPoint*) other { - if (other == [RGDPoint defaultInstance]) { - return self; - } - if (other.hasLatitude) { - [self setLatitude:other.latitude]; - } - if (other.hasLongitude) { - [self setLongitude:other.longitude]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RGDPointBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RGDPointBuilder*) 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 setLatitude:[input readInt32]]; - break; - } - case 16: { - [self setLongitude:[input readInt32]]; - break; - } - } - } -} -- (BOOL) hasLatitude { - return resultPoint.hasLatitude; -} -- (SInt32) latitude { - return resultPoint.latitude; -} -- (RGDPointBuilder*) setLatitude:(SInt32) value { - resultPoint.hasLatitude = YES; - resultPoint.latitude = value; - return self; -} -- (RGDPointBuilder*) clearLatitude { - resultPoint.hasLatitude = NO; - resultPoint.latitude = 0; - return self; -} -- (BOOL) hasLongitude { - return resultPoint.hasLongitude; -} -- (SInt32) longitude { - return resultPoint.longitude; -} -- (RGDPointBuilder*) setLongitude:(SInt32) value { - resultPoint.hasLongitude = YES; - resultPoint.longitude = value; - return self; -} -- (RGDPointBuilder*) clearLongitude { - resultPoint.hasLongitude = NO; - resultPoint.longitude = 0; - return self; -} -@end - -@interface RGDRectangle () -@property (strong) RGDPoint* lo; -@property (strong) RGDPoint* hi; -@end - -@implementation RGDRectangle - -- (BOOL) hasLo { - return !!hasLo_; -} -- (void) setHasLo:(BOOL) _value_ { - hasLo_ = !!_value_; -} -@synthesize lo; -- (BOOL) hasHi { - return !!hasHi_; -} -- (void) setHasHi:(BOOL) _value_ { - hasHi_ = !!_value_; -} -@synthesize hi; -- (instancetype) init { - if ((self = [super init])) { - self.lo = [RGDPoint defaultInstance]; - self.hi = [RGDPoint defaultInstance]; - } - return self; -} -static RGDRectangle* defaultRGDRectangleInstance = nil; -+ (void) initialize { - if (self == [RGDRectangle class]) { - defaultRGDRectangleInstance = [[RGDRectangle alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRGDRectangleInstance; -} -- (instancetype) defaultInstance { - return defaultRGDRectangleInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasLo) { - [output writeMessage:1 value:self.lo]; - } - if (self.hasHi) { - [output writeMessage:2 value:self.hi]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasLo) { - size_ += computeMessageSize(1, self.lo); - } - if (self.hasHi) { - size_ += computeMessageSize(2, self.hi); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RGDRectangle*) parseFromData:(NSData*) data { - return (RGDRectangle*)[[[RGDRectangle builder] mergeFromData:data] build]; -} -+ (RGDRectangle*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRectangle*)[[[RGDRectangle builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RGDRectangle*) parseFromInputStream:(NSInputStream*) input { - return (RGDRectangle*)[[[RGDRectangle builder] mergeFromInputStream:input] build]; -} -+ (RGDRectangle*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRectangle*)[[[RGDRectangle builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDRectangle*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RGDRectangle*)[[[RGDRectangle builder] mergeFromCodedInputStream:input] build]; -} -+ (RGDRectangle*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRectangle*)[[[RGDRectangle builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDRectangleBuilder*) builder { - return [[RGDRectangleBuilder alloc] init]; -} -+ (RGDRectangleBuilder*) builderWithPrototype:(RGDRectangle*) prototype { - return [[RGDRectangle builder] mergeFrom:prototype]; -} -- (RGDRectangleBuilder*) builder { - return [RGDRectangle builder]; -} -- (RGDRectangleBuilder*) toBuilder { - return [RGDRectangle builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasLo) { - [output appendFormat:@"%@%@ {\n", indent, @"lo"]; - [self.lo writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - if (self.hasHi) { - [output appendFormat:@"%@%@ {\n", indent, @"hi"]; - [self.hi writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RGDRectangle class]]) { - return NO; - } - RGDRectangle *otherMessage = other; - return - self.hasLo == otherMessage.hasLo && - (!self.hasLo || [self.lo isEqual:otherMessage.lo]) && - self.hasHi == otherMessage.hasHi && - (!self.hasHi || [self.hi isEqual:otherMessage.hi]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasLo) { - hashCode = hashCode * 31 + [self.lo hash]; - } - if (self.hasHi) { - hashCode = hashCode * 31 + [self.hi hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RGDRectangleBuilder() -@property (strong) RGDRectangle* resultRectangle; -@end - -@implementation RGDRectangleBuilder -@synthesize resultRectangle; -- (instancetype) init { - if ((self = [super init])) { - self.resultRectangle = [[RGDRectangle alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultRectangle; -} -- (RGDRectangleBuilder*) clear { - self.resultRectangle = [[RGDRectangle alloc] init]; - return self; -} -- (RGDRectangleBuilder*) clone { - return [RGDRectangle builderWithPrototype:resultRectangle]; -} -- (RGDRectangle*) defaultInstance { - return [RGDRectangle defaultInstance]; -} -- (RGDRectangle*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RGDRectangle*) buildPartial { - RGDRectangle* returnMe = resultRectangle; - self.resultRectangle = nil; - return returnMe; -} -- (RGDRectangleBuilder*) mergeFrom:(RGDRectangle*) other { - if (other == [RGDRectangle defaultInstance]) { - return self; - } - if (other.hasLo) { - [self mergeLo:other.lo]; - } - if (other.hasHi) { - [self mergeHi:other.hi]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RGDRectangleBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RGDRectangleBuilder*) 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: { - RGDPointBuilder* subBuilder = [RGDPoint builder]; - if (self.hasLo) { - [subBuilder mergeFrom:self.lo]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setLo:[subBuilder buildPartial]]; - break; - } - case 18: { - RGDPointBuilder* subBuilder = [RGDPoint builder]; - if (self.hasHi) { - [subBuilder mergeFrom:self.hi]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setHi:[subBuilder buildPartial]]; - break; - } - } - } -} -- (BOOL) hasLo { - return resultRectangle.hasLo; -} -- (RGDPoint*) lo { - return resultRectangle.lo; -} -- (RGDRectangleBuilder*) setLo:(RGDPoint*) value { - resultRectangle.hasLo = YES; - resultRectangle.lo = value; - return self; -} -- (RGDRectangleBuilder*) setLoBuilder:(RGDPointBuilder*) builderForValue { - return [self setLo:[builderForValue build]]; -} -- (RGDRectangleBuilder*) mergeLo:(RGDPoint*) value { - if (resultRectangle.hasLo && - resultRectangle.lo != [RGDPoint defaultInstance]) { - resultRectangle.lo = - [[[RGDPoint builderWithPrototype:resultRectangle.lo] mergeFrom:value] buildPartial]; - } else { - resultRectangle.lo = value; - } - resultRectangle.hasLo = YES; - return self; -} -- (RGDRectangleBuilder*) clearLo { - resultRectangle.hasLo = NO; - resultRectangle.lo = [RGDPoint defaultInstance]; - return self; -} -- (BOOL) hasHi { - return resultRectangle.hasHi; -} -- (RGDPoint*) hi { - return resultRectangle.hi; -} -- (RGDRectangleBuilder*) setHi:(RGDPoint*) value { - resultRectangle.hasHi = YES; - resultRectangle.hi = value; - return self; -} -- (RGDRectangleBuilder*) setHiBuilder:(RGDPointBuilder*) builderForValue { - return [self setHi:[builderForValue build]]; -} -- (RGDRectangleBuilder*) mergeHi:(RGDPoint*) value { - if (resultRectangle.hasHi && - resultRectangle.hi != [RGDPoint defaultInstance]) { - resultRectangle.hi = - [[[RGDPoint builderWithPrototype:resultRectangle.hi] mergeFrom:value] buildPartial]; - } else { - resultRectangle.hi = value; - } - resultRectangle.hasHi = YES; - return self; -} -- (RGDRectangleBuilder*) clearHi { - resultRectangle.hasHi = NO; - resultRectangle.hi = [RGDPoint defaultInstance]; - return self; -} -@end - -@interface RGDFeature () -@property (strong) NSString* name; -@property (strong) RGDPoint* location; -@end - -@implementation RGDFeature - -- (BOOL) hasName { - return !!hasName_; -} -- (void) setHasName:(BOOL) _value_ { - hasName_ = !!_value_; -} -@synthesize name; -- (BOOL) hasLocation { - return !!hasLocation_; -} -- (void) setHasLocation:(BOOL) _value_ { - hasLocation_ = !!_value_; -} -@synthesize location; -- (instancetype) init { - if ((self = [super init])) { - self.name = @""; - self.location = [RGDPoint defaultInstance]; - } - return self; -} -static RGDFeature* defaultRGDFeatureInstance = nil; -+ (void) initialize { - if (self == [RGDFeature class]) { - defaultRGDFeatureInstance = [[RGDFeature alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRGDFeatureInstance; -} -- (instancetype) defaultInstance { - return defaultRGDFeatureInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasName) { - [output writeString:1 value:self.name]; - } - if (self.hasLocation) { - [output writeMessage:2 value:self.location]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasName) { - size_ += computeStringSize(1, self.name); - } - if (self.hasLocation) { - size_ += computeMessageSize(2, self.location); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RGDFeature*) parseFromData:(NSData*) data { - return (RGDFeature*)[[[RGDFeature builder] mergeFromData:data] build]; -} -+ (RGDFeature*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDFeature*)[[[RGDFeature builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RGDFeature*) parseFromInputStream:(NSInputStream*) input { - return (RGDFeature*)[[[RGDFeature builder] mergeFromInputStream:input] build]; -} -+ (RGDFeature*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDFeature*)[[[RGDFeature builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDFeature*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RGDFeature*)[[[RGDFeature builder] mergeFromCodedInputStream:input] build]; -} -+ (RGDFeature*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDFeature*)[[[RGDFeature builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDFeatureBuilder*) builder { - return [[RGDFeatureBuilder alloc] init]; -} -+ (RGDFeatureBuilder*) builderWithPrototype:(RGDFeature*) prototype { - return [[RGDFeature builder] mergeFrom:prototype]; -} -- (RGDFeatureBuilder*) builder { - return [RGDFeature builder]; -} -- (RGDFeatureBuilder*) toBuilder { - return [RGDFeature builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasName) { - [output appendFormat:@"%@%@: %@\n", indent, @"name", self.name]; - } - if (self.hasLocation) { - [output appendFormat:@"%@%@ {\n", indent, @"location"]; - [self.location writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RGDFeature class]]) { - return NO; - } - RGDFeature *otherMessage = other; - return - self.hasName == otherMessage.hasName && - (!self.hasName || [self.name isEqual:otherMessage.name]) && - self.hasLocation == otherMessage.hasLocation && - (!self.hasLocation || [self.location isEqual:otherMessage.location]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasName) { - hashCode = hashCode * 31 + [self.name hash]; - } - if (self.hasLocation) { - hashCode = hashCode * 31 + [self.location hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RGDFeatureBuilder() -@property (strong) RGDFeature* resultFeature; -@end - -@implementation RGDFeatureBuilder -@synthesize resultFeature; -- (instancetype) init { - if ((self = [super init])) { - self.resultFeature = [[RGDFeature alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultFeature; -} -- (RGDFeatureBuilder*) clear { - self.resultFeature = [[RGDFeature alloc] init]; - return self; -} -- (RGDFeatureBuilder*) clone { - return [RGDFeature builderWithPrototype:resultFeature]; -} -- (RGDFeature*) defaultInstance { - return [RGDFeature defaultInstance]; -} -- (RGDFeature*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RGDFeature*) buildPartial { - RGDFeature* returnMe = resultFeature; - self.resultFeature = nil; - return returnMe; -} -- (RGDFeatureBuilder*) mergeFrom:(RGDFeature*) other { - if (other == [RGDFeature defaultInstance]) { - return self; - } - if (other.hasName) { - [self setName:other.name]; - } - if (other.hasLocation) { - [self mergeLocation:other.location]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RGDFeatureBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RGDFeatureBuilder*) 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: { - [self setName:[input readString]]; - break; - } - case 18: { - RGDPointBuilder* subBuilder = [RGDPoint builder]; - if (self.hasLocation) { - [subBuilder mergeFrom:self.location]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setLocation:[subBuilder buildPartial]]; - break; - } - } - } -} -- (BOOL) hasName { - return resultFeature.hasName; -} -- (NSString*) name { - return resultFeature.name; -} -- (RGDFeatureBuilder*) setName:(NSString*) value { - resultFeature.hasName = YES; - resultFeature.name = value; - return self; -} -- (RGDFeatureBuilder*) clearName { - resultFeature.hasName = NO; - resultFeature.name = @""; - return self; -} -- (BOOL) hasLocation { - return resultFeature.hasLocation; -} -- (RGDPoint*) location { - return resultFeature.location; -} -- (RGDFeatureBuilder*) setLocation:(RGDPoint*) value { - resultFeature.hasLocation = YES; - resultFeature.location = value; - return self; -} -- (RGDFeatureBuilder*) setLocationBuilder:(RGDPointBuilder*) builderForValue { - return [self setLocation:[builderForValue build]]; -} -- (RGDFeatureBuilder*) mergeLocation:(RGDPoint*) value { - if (resultFeature.hasLocation && - resultFeature.location != [RGDPoint defaultInstance]) { - resultFeature.location = - [[[RGDPoint builderWithPrototype:resultFeature.location] mergeFrom:value] buildPartial]; - } else { - resultFeature.location = value; - } - resultFeature.hasLocation = YES; - return self; -} -- (RGDFeatureBuilder*) clearLocation { - resultFeature.hasLocation = NO; - resultFeature.location = [RGDPoint defaultInstance]; - return self; -} -@end - -@interface RGDRouteNote () -@property (strong) RGDPoint* location; -@property (strong) NSString* message; -@end - -@implementation RGDRouteNote - -- (BOOL) hasLocation { - return !!hasLocation_; -} -- (void) setHasLocation:(BOOL) _value_ { - hasLocation_ = !!_value_; -} -@synthesize location; -- (BOOL) hasMessage { - return !!hasMessage_; -} -- (void) setHasMessage:(BOOL) _value_ { - hasMessage_ = !!_value_; -} -@synthesize message; -- (instancetype) init { - if ((self = [super init])) { - self.location = [RGDPoint defaultInstance]; - self.message = @""; - } - return self; -} -static RGDRouteNote* defaultRGDRouteNoteInstance = nil; -+ (void) initialize { - if (self == [RGDRouteNote class]) { - defaultRGDRouteNoteInstance = [[RGDRouteNote alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRGDRouteNoteInstance; -} -- (instancetype) defaultInstance { - return defaultRGDRouteNoteInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasLocation) { - [output writeMessage:1 value:self.location]; - } - if (self.hasMessage) { - [output writeString:2 value:self.message]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasLocation) { - size_ += computeMessageSize(1, self.location); - } - if (self.hasMessage) { - size_ += computeStringSize(2, self.message); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RGDRouteNote*) parseFromData:(NSData*) data { - return (RGDRouteNote*)[[[RGDRouteNote builder] mergeFromData:data] build]; -} -+ (RGDRouteNote*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRouteNote*)[[[RGDRouteNote builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RGDRouteNote*) parseFromInputStream:(NSInputStream*) input { - return (RGDRouteNote*)[[[RGDRouteNote builder] mergeFromInputStream:input] build]; -} -+ (RGDRouteNote*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRouteNote*)[[[RGDRouteNote builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDRouteNote*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RGDRouteNote*)[[[RGDRouteNote builder] mergeFromCodedInputStream:input] build]; -} -+ (RGDRouteNote*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRouteNote*)[[[RGDRouteNote builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDRouteNoteBuilder*) builder { - return [[RGDRouteNoteBuilder alloc] init]; -} -+ (RGDRouteNoteBuilder*) builderWithPrototype:(RGDRouteNote*) prototype { - return [[RGDRouteNote builder] mergeFrom:prototype]; -} -- (RGDRouteNoteBuilder*) builder { - return [RGDRouteNote builder]; -} -- (RGDRouteNoteBuilder*) toBuilder { - return [RGDRouteNote builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasLocation) { - [output appendFormat:@"%@%@ {\n", indent, @"location"]; - [self.location writeDescriptionTo:output - withIndent:[NSString stringWithFormat:@"%@ ", indent]]; - [output appendFormat:@"%@}\n", indent]; - } - if (self.hasMessage) { - [output appendFormat:@"%@%@: %@\n", indent, @"message", self.message]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RGDRouteNote class]]) { - return NO; - } - RGDRouteNote *otherMessage = other; - return - self.hasLocation == otherMessage.hasLocation && - (!self.hasLocation || [self.location isEqual:otherMessage.location]) && - self.hasMessage == otherMessage.hasMessage && - (!self.hasMessage || [self.message isEqual:otherMessage.message]) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasLocation) { - hashCode = hashCode * 31 + [self.location hash]; - } - if (self.hasMessage) { - hashCode = hashCode * 31 + [self.message hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RGDRouteNoteBuilder() -@property (strong) RGDRouteNote* resultRouteNote; -@end - -@implementation RGDRouteNoteBuilder -@synthesize resultRouteNote; -- (instancetype) init { - if ((self = [super init])) { - self.resultRouteNote = [[RGDRouteNote alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultRouteNote; -} -- (RGDRouteNoteBuilder*) clear { - self.resultRouteNote = [[RGDRouteNote alloc] init]; - return self; -} -- (RGDRouteNoteBuilder*) clone { - return [RGDRouteNote builderWithPrototype:resultRouteNote]; -} -- (RGDRouteNote*) defaultInstance { - return [RGDRouteNote defaultInstance]; -} -- (RGDRouteNote*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RGDRouteNote*) buildPartial { - RGDRouteNote* returnMe = resultRouteNote; - self.resultRouteNote = nil; - return returnMe; -} -- (RGDRouteNoteBuilder*) mergeFrom:(RGDRouteNote*) other { - if (other == [RGDRouteNote defaultInstance]) { - return self; - } - if (other.hasLocation) { - [self mergeLocation:other.location]; - } - if (other.hasMessage) { - [self setMessage:other.message]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RGDRouteNoteBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RGDRouteNoteBuilder*) 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: { - RGDPointBuilder* subBuilder = [RGDPoint builder]; - if (self.hasLocation) { - [subBuilder mergeFrom:self.location]; - } - [input readMessage:subBuilder extensionRegistry:extensionRegistry]; - [self setLocation:[subBuilder buildPartial]]; - break; - } - case 18: { - [self setMessage:[input readString]]; - break; - } - } - } -} -- (BOOL) hasLocation { - return resultRouteNote.hasLocation; -} -- (RGDPoint*) location { - return resultRouteNote.location; -} -- (RGDRouteNoteBuilder*) setLocation:(RGDPoint*) value { - resultRouteNote.hasLocation = YES; - resultRouteNote.location = value; - return self; -} -- (RGDRouteNoteBuilder*) setLocationBuilder:(RGDPointBuilder*) builderForValue { - return [self setLocation:[builderForValue build]]; -} -- (RGDRouteNoteBuilder*) mergeLocation:(RGDPoint*) value { - if (resultRouteNote.hasLocation && - resultRouteNote.location != [RGDPoint defaultInstance]) { - resultRouteNote.location = - [[[RGDPoint builderWithPrototype:resultRouteNote.location] mergeFrom:value] buildPartial]; - } else { - resultRouteNote.location = value; - } - resultRouteNote.hasLocation = YES; - return self; -} -- (RGDRouteNoteBuilder*) clearLocation { - resultRouteNote.hasLocation = NO; - resultRouteNote.location = [RGDPoint defaultInstance]; - return self; -} -- (BOOL) hasMessage { - return resultRouteNote.hasMessage; -} -- (NSString*) message { - return resultRouteNote.message; -} -- (RGDRouteNoteBuilder*) setMessage:(NSString*) value { - resultRouteNote.hasMessage = YES; - resultRouteNote.message = value; - return self; -} -- (RGDRouteNoteBuilder*) clearMessage { - resultRouteNote.hasMessage = NO; - resultRouteNote.message = @""; - return self; -} -@end - -@interface RGDRouteSummary () -@property SInt32 pointCount; -@property SInt32 featureCount; -@property SInt32 distance; -@property SInt32 elapsedTime; -@end - -@implementation RGDRouteSummary - -- (BOOL) hasPointCount { - return !!hasPointCount_; -} -- (void) setHasPointCount:(BOOL) _value_ { - hasPointCount_ = !!_value_; -} -@synthesize pointCount; -- (BOOL) hasFeatureCount { - return !!hasFeatureCount_; -} -- (void) setHasFeatureCount:(BOOL) _value_ { - hasFeatureCount_ = !!_value_; -} -@synthesize featureCount; -- (BOOL) hasDistance { - return !!hasDistance_; -} -- (void) setHasDistance:(BOOL) _value_ { - hasDistance_ = !!_value_; -} -@synthesize distance; -- (BOOL) hasElapsedTime { - return !!hasElapsedTime_; -} -- (void) setHasElapsedTime:(BOOL) _value_ { - hasElapsedTime_ = !!_value_; -} -@synthesize elapsedTime; -- (instancetype) init { - if ((self = [super init])) { - self.pointCount = 0; - self.featureCount = 0; - self.distance = 0; - self.elapsedTime = 0; - } - return self; -} -static RGDRouteSummary* defaultRGDRouteSummaryInstance = nil; -+ (void) initialize { - if (self == [RGDRouteSummary class]) { - defaultRGDRouteSummaryInstance = [[RGDRouteSummary alloc] init]; - } -} -+ (instancetype) defaultInstance { - return defaultRGDRouteSummaryInstance; -} -- (instancetype) defaultInstance { - return defaultRGDRouteSummaryInstance; -} -- (BOOL) isInitialized { - return YES; -} -- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output { - if (self.hasPointCount) { - [output writeInt32:1 value:self.pointCount]; - } - if (self.hasFeatureCount) { - [output writeInt32:2 value:self.featureCount]; - } - if (self.hasDistance) { - [output writeInt32:3 value:self.distance]; - } - if (self.hasElapsedTime) { - [output writeInt32:4 value:self.elapsedTime]; - } - [self.unknownFields writeToCodedOutputStream:output]; -} -- (SInt32) serializedSize { - __block SInt32 size_ = memoizedSerializedSize; - if (size_ != -1) { - return size_; - } - - size_ = 0; - if (self.hasPointCount) { - size_ += computeInt32Size(1, self.pointCount); - } - if (self.hasFeatureCount) { - size_ += computeInt32Size(2, self.featureCount); - } - if (self.hasDistance) { - size_ += computeInt32Size(3, self.distance); - } - if (self.hasElapsedTime) { - size_ += computeInt32Size(4, self.elapsedTime); - } - size_ += self.unknownFields.serializedSize; - memoizedSerializedSize = size_; - return size_; -} -+ (RGDRouteSummary*) parseFromData:(NSData*) data { - return (RGDRouteSummary*)[[[RGDRouteSummary builder] mergeFromData:data] build]; -} -+ (RGDRouteSummary*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRouteSummary*)[[[RGDRouteSummary builder] mergeFromData:data extensionRegistry:extensionRegistry] build]; -} -+ (RGDRouteSummary*) parseFromInputStream:(NSInputStream*) input { - return (RGDRouteSummary*)[[[RGDRouteSummary builder] mergeFromInputStream:input] build]; -} -+ (RGDRouteSummary*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRouteSummary*)[[[RGDRouteSummary builder] mergeFromInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDRouteSummary*) parseFromCodedInputStream:(PBCodedInputStream*) input { - return (RGDRouteSummary*)[[[RGDRouteSummary builder] mergeFromCodedInputStream:input] build]; -} -+ (RGDRouteSummary*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry { - return (RGDRouteSummary*)[[[RGDRouteSummary builder] mergeFromCodedInputStream:input extensionRegistry:extensionRegistry] build]; -} -+ (RGDRouteSummaryBuilder*) builder { - return [[RGDRouteSummaryBuilder alloc] init]; -} -+ (RGDRouteSummaryBuilder*) builderWithPrototype:(RGDRouteSummary*) prototype { - return [[RGDRouteSummary builder] mergeFrom:prototype]; -} -- (RGDRouteSummaryBuilder*) builder { - return [RGDRouteSummary builder]; -} -- (RGDRouteSummaryBuilder*) toBuilder { - return [RGDRouteSummary builderWithPrototype:self]; -} -- (void) writeDescriptionTo:(NSMutableString*) output withIndent:(NSString*) indent { - if (self.hasPointCount) { - [output appendFormat:@"%@%@: %@\n", indent, @"pointCount", [NSNumber numberWithInteger:self.pointCount]]; - } - if (self.hasFeatureCount) { - [output appendFormat:@"%@%@: %@\n", indent, @"featureCount", [NSNumber numberWithInteger:self.featureCount]]; - } - if (self.hasDistance) { - [output appendFormat:@"%@%@: %@\n", indent, @"distance", [NSNumber numberWithInteger:self.distance]]; - } - if (self.hasElapsedTime) { - [output appendFormat:@"%@%@: %@\n", indent, @"elapsedTime", [NSNumber numberWithInteger:self.elapsedTime]]; - } - [self.unknownFields writeDescriptionTo:output withIndent:indent]; -} -- (BOOL) isEqual:(id)other { - if (other == self) { - return YES; - } - if (![other isKindOfClass:[RGDRouteSummary class]]) { - return NO; - } - RGDRouteSummary *otherMessage = other; - return - self.hasPointCount == otherMessage.hasPointCount && - (!self.hasPointCount || self.pointCount == otherMessage.pointCount) && - self.hasFeatureCount == otherMessage.hasFeatureCount && - (!self.hasFeatureCount || self.featureCount == otherMessage.featureCount) && - self.hasDistance == otherMessage.hasDistance && - (!self.hasDistance || self.distance == otherMessage.distance) && - self.hasElapsedTime == otherMessage.hasElapsedTime && - (!self.hasElapsedTime || self.elapsedTime == otherMessage.elapsedTime) && - (self.unknownFields == otherMessage.unknownFields || (self.unknownFields != nil && [self.unknownFields isEqual:otherMessage.unknownFields])); -} -- (NSUInteger) hash { - __block NSUInteger hashCode = 7; - if (self.hasPointCount) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.pointCount] hash]; - } - if (self.hasFeatureCount) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.featureCount] hash]; - } - if (self.hasDistance) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.distance] hash]; - } - if (self.hasElapsedTime) { - hashCode = hashCode * 31 + [[NSNumber numberWithInteger:self.elapsedTime] hash]; - } - hashCode = hashCode * 31 + [self.unknownFields hash]; - return hashCode; -} -@end - -@interface RGDRouteSummaryBuilder() -@property (strong) RGDRouteSummary* resultRouteSummary; -@end - -@implementation RGDRouteSummaryBuilder -@synthesize resultRouteSummary; -- (instancetype) init { - if ((self = [super init])) { - self.resultRouteSummary = [[RGDRouteSummary alloc] init]; - } - return self; -} -- (PBGeneratedMessage*) internalGetResult { - return resultRouteSummary; -} -- (RGDRouteSummaryBuilder*) clear { - self.resultRouteSummary = [[RGDRouteSummary alloc] init]; - return self; -} -- (RGDRouteSummaryBuilder*) clone { - return [RGDRouteSummary builderWithPrototype:resultRouteSummary]; -} -- (RGDRouteSummary*) defaultInstance { - return [RGDRouteSummary defaultInstance]; -} -- (RGDRouteSummary*) build { - [self checkInitialized]; - return [self buildPartial]; -} -- (RGDRouteSummary*) buildPartial { - RGDRouteSummary* returnMe = resultRouteSummary; - self.resultRouteSummary = nil; - return returnMe; -} -- (RGDRouteSummaryBuilder*) mergeFrom:(RGDRouteSummary*) other { - if (other == [RGDRouteSummary defaultInstance]) { - return self; - } - if (other.hasPointCount) { - [self setPointCount:other.pointCount]; - } - if (other.hasFeatureCount) { - [self setFeatureCount:other.featureCount]; - } - if (other.hasDistance) { - [self setDistance:other.distance]; - } - if (other.hasElapsedTime) { - [self setElapsedTime:other.elapsedTime]; - } - [self mergeUnknownFields:other.unknownFields]; - return self; -} -- (RGDRouteSummaryBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input { - return [self mergeFromCodedInputStream:input extensionRegistry:[PBExtensionRegistry emptyRegistry]]; -} -- (RGDRouteSummaryBuilder*) 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 setPointCount:[input readInt32]]; - break; - } - case 16: { - [self setFeatureCount:[input readInt32]]; - break; - } - case 24: { - [self setDistance:[input readInt32]]; - break; - } - case 32: { - [self setElapsedTime:[input readInt32]]; - break; - } - } - } -} -- (BOOL) hasPointCount { - return resultRouteSummary.hasPointCount; -} -- (SInt32) pointCount { - return resultRouteSummary.pointCount; -} -- (RGDRouteSummaryBuilder*) setPointCount:(SInt32) value { - resultRouteSummary.hasPointCount = YES; - resultRouteSummary.pointCount = value; - return self; -} -- (RGDRouteSummaryBuilder*) clearPointCount { - resultRouteSummary.hasPointCount = NO; - resultRouteSummary.pointCount = 0; - return self; -} -- (BOOL) hasFeatureCount { - return resultRouteSummary.hasFeatureCount; -} -- (SInt32) featureCount { - return resultRouteSummary.featureCount; -} -- (RGDRouteSummaryBuilder*) setFeatureCount:(SInt32) value { - resultRouteSummary.hasFeatureCount = YES; - resultRouteSummary.featureCount = value; - return self; -} -- (RGDRouteSummaryBuilder*) clearFeatureCount { - resultRouteSummary.hasFeatureCount = NO; - resultRouteSummary.featureCount = 0; - return self; -} -- (BOOL) hasDistance { - return resultRouteSummary.hasDistance; -} -- (SInt32) distance { - return resultRouteSummary.distance; -} -- (RGDRouteSummaryBuilder*) setDistance:(SInt32) value { - resultRouteSummary.hasDistance = YES; - resultRouteSummary.distance = value; - return self; -} -- (RGDRouteSummaryBuilder*) clearDistance { - resultRouteSummary.hasDistance = NO; - resultRouteSummary.distance = 0; - return self; -} -- (BOOL) hasElapsedTime { - return resultRouteSummary.hasElapsedTime; -} -- (SInt32) elapsedTime { - return resultRouteSummary.elapsedTime; -} -- (RGDRouteSummaryBuilder*) setElapsedTime:(SInt32) value { - resultRouteSummary.hasElapsedTime = YES; - resultRouteSummary.elapsedTime = value; - return self; -} -- (RGDRouteSummaryBuilder*) clearElapsedTime { - resultRouteSummary.hasElapsedTime = NO; - resultRouteSummary.elapsedTime = 0; - return self; -} -@end - - -// @@protoc_insertion_point(global_scope) diff --git a/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.podspec b/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.podspec index 04d847bf8f..5b1a68aad5 100644 --- a/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.podspec +++ b/src/objective-c/examples/Sample/RouteGuideClient/Route_guide.podspec @@ -6,12 +6,19 @@ Pod::Spec.new do |s| s.license = 'New BSD' s.authors = { 'Jorge Canizales' => 'jcanizales@google.com' } - s.source_files = '*.pb.{h,m}' - s.public_header_files = '*.pb.h' - - s.platform = :ios s.ios.deployment_target = '6.0' - s.requires_arc = true + s.osx.deployment_target = '10.8' + + s.subspec 'Messages' do |ms| + ms.source_files = '*.pbobjc.{h,m}' + ms.requires_arc = false + ms.dependency 'Protobuf', '~> 3.0' + end - s.dependency 'ProtocolBuffers', '~> 1.9' + s.subspec 'Services' do |ss| + ss.source_files = '*.pbrpc.{h,m}' + ss.requires_arc = true + ss.dependency 'gRPC', '~> 0.0' + ss.dependency 'Route_guide/Messages' + end end diff --git a/src/objective-c/examples/Sample/RouteGuideClient/route_guide.proto b/src/objective-c/examples/Sample/RouteGuideClient/route_guide.proto index 91b0372a07..16dce26a2b 100644 --- a/src/objective-c/examples/Sample/RouteGuideClient/route_guide.proto +++ b/src/objective-c/examples/Sample/RouteGuideClient/route_guide.proto @@ -27,12 +27,11 @@ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -syntax = "proto2"; +syntax = "proto3"; package grpc.example.routeguide; -import "google/protobuf/objectivec-descriptor.proto"; -option (google.protobuf.objectivec_file_options).class_prefix = "RGD"; +option objc_class_prefix = "RGD"; // Interface exported by the server. service RouteGuide { @@ -47,19 +46,19 @@ service RouteGuide { // streamed rather than returned at once (e.g. in a response message with a // repeated field), as the rectangle may cover a large area and contain a // huge number of features. -// rpc ListFeatures(Rectangle) returns (stream Feature) {} + rpc ListFeatures(Rectangle) returns (stream Feature) {} // A client-to-server streaming RPC. // // Accepts a stream of Points on a route being traversed, returning a // RouteSummary when traversal is completed. -// rpc RecordRoute(stream Point) returns (RouteSummary) {} + rpc RecordRoute(stream Point) returns (RouteSummary) {} // A Bidirectional streaming RPC. // // Accepts a stream of RouteNotes sent while a route is being traversed, // while receiving other RouteNotes (e.g. from other users). -// rpc RouteChat(stream RouteNote) returns (stream RouteNote) {} + rpc RouteChat(stream RouteNote) returns (stream RouteNote) {} } // Points are represented as latitude-longitude pairs in the E7 representation @@ -67,18 +66,18 @@ service RouteGuide { // Latitudes should be in the range +/- 90 degrees and longitude should be in // the range +/- 180 degrees (inclusive). message Point { - optional int32 latitude = 1; - optional int32 longitude = 2; + int32 latitude = 1; + int32 longitude = 2; } // A latitude-longitude rectangle, represented as two diagonally opposite // points "lo" and "hi". message Rectangle { // One corner of the rectangle. - optional Point lo = 1; + Point lo = 1; // The other corner of the rectangle. - optional Point hi = 2; + Point hi = 2; } // A feature names something at a given point. @@ -86,19 +85,19 @@ message Rectangle { // If a feature could not be named, the name is empty. message Feature { // The name of the feature. - optional string name = 1; + string name = 1; // The point where the feature is detected. - optional Point location = 2; + Point location = 2; } // A RouteNote is a message sent while at a given point. message RouteNote { // The location from which the message is sent. - optional Point location = 1; + Point location = 1; // The message to be sent. - optional string message = 2; + string message = 2; } // A RouteSummary is received in response to a RecordRoute rpc. @@ -108,14 +107,14 @@ message RouteNote { // the distance between each point. message RouteSummary { // The number of points received. - optional int32 point_count = 1; + int32 point_count = 1; // The number of known features passed while traversing the route. - optional int32 feature_count = 2; + int32 feature_count = 2; // The distance covered in metres. - optional int32 distance = 3; + int32 distance = 3; // The duration of the traversal in seconds. - optional int32 elapsed_time = 4; -}
\ No newline at end of file + int32 elapsed_time = 4; +} diff --git a/src/objective-c/examples/Sample/Sample/ViewController.m b/src/objective-c/examples/Sample/Sample/ViewController.m index c7d8e0d145..1c866babec 100644 --- a/src/objective-c/examples/Sample/Sample/ViewController.m +++ b/src/objective-c/examples/Sample/Sample/ViewController.m @@ -37,7 +37,8 @@ #import <gRPC/GRPCMethodName.h> #import <gRPC/GRXWriter+Immediate.h> #import <gRPC/GRXWriteable.h> -#import <RemoteTest/Messages.pb.h> +#import <RemoteTest/Messages.pbobjc.h> +#import <RemoteTest/Test.pbrpc.h> @interface ViewController () @end @@ -47,18 +48,34 @@ - (void)viewDidLoad { [super viewDidLoad]; + NSString * const kRemoteHost = @"grpc-test.sandbox.google.com"; + + RMTSimpleRequest *request = [[RMTSimpleRequest alloc] init]; + request.responseSize = 10; + request.fillUsername = YES; + request.fillOauthScope = YES; + + // Example gRPC call using a generated proto client library: + + RMTTestService *service = [[RMTTestService alloc] initWithHost:kRemoteHost]; + [service unaryCallWithRequest:request handler:^(RMTSimpleResponse *response, NSError *error) { + if (response) { + NSLog(@"Finished successfully with response:\n%@", response); + } else if (error) { + NSLog(@"Finished with error: %@", error); + } + }]; + + + // Same example call using the generic gRPC client library: + GRPCMethodName *method = [[GRPCMethodName alloc] initWithPackage:@"grpc.testing" interface:@"TestService" method:@"UnaryCall"]; - RMTSimpleRequest *request = [[[[[[RMTSimpleRequestBuilder alloc] init] - setResponseSize:100] - setFillUsername:YES] - setFillOauthScope:YES] - build]; id<GRXWriter> requestsWriter = [GRXWriter writerWithValue:[request data]]; - GRPCCall *call = [[GRPCCall alloc] initWithHost:@"grpc-test.sandbox.google.com" + GRPCCall *call = [[GRPCCall alloc] initWithHost:kRemoteHost method:method requestsWriter:requestsWriter]; @@ -66,7 +83,11 @@ RMTSimpleResponse *response = [RMTSimpleResponse parseFromData:value]; NSLog(@"Received response:\n%@", response); } completionHandler:^(NSError *errorOrNil) { - NSLog(@"Finished with error: %@", errorOrNil); + if (errorOrNil) { + NSLog(@"Finished with error: %@", errorOrNil); + } else { + NSLog(@"Finished successfully."); + } }]; [call startWithWriteable:responsesWriteable]; diff --git a/src/objective-c/examples/Sample/SampleTests/RemoteProtoTests.m b/src/objective-c/examples/Sample/SampleTests/RemoteProtoTests.m index 72ceed0c31..7cebc0c2a7 100644 --- a/src/objective-c/examples/Sample/SampleTests/RemoteProtoTests.m +++ b/src/objective-c/examples/Sample/SampleTests/RemoteProtoTests.m @@ -36,10 +36,45 @@ #import <UIKit/UIKit.h> #import <XCTest/XCTest.h> -#import <gRPC/ProtoRPC.h> #import <gRPC/GRXWriter+Immediate.h> -#import <RemoteTest/Messages.pb.h> -#import <RemoteTest/Test.pb.h> +#import <gRPC/GRXBufferedPipe.h> +#import <gRPC/ProtoRPC.h> +#import <RemoteTest/Empty.pbobjc.h> +#import <RemoteTest/Messages.pbobjc.h> +#import <RemoteTest/Test.pbobjc.h> +#import <RemoteTest/Test.pbrpc.h> + +// Convenience constructors for the generated proto messages: + +@interface RMTStreamingOutputCallRequest (Constructors) ++ (instancetype)messageWithPayloadSize:(NSNumber *)payloadSize + requestedResponseSize:(NSNumber *)responseSize; +@end + +@implementation RMTStreamingOutputCallRequest (Constructors) ++ (instancetype)messageWithPayloadSize:(NSNumber *)payloadSize + requestedResponseSize:(NSNumber *)responseSize { + RMTStreamingOutputCallRequest *request = [self message]; + RMTResponseParameters *parameters = [RMTResponseParameters message]; + parameters.size = responseSize.integerValue; + [request.responseParametersArray addObject:parameters]; + request.payload.body = [NSMutableData dataWithLength:payloadSize.unsignedIntegerValue]; + return request; +} +@end + +@interface RMTStreamingOutputCallResponse (Constructors) ++ (instancetype)messageWithPayloadSize:(NSNumber *)payloadSize; +@end + +@implementation RMTStreamingOutputCallResponse (Constructors) ++ (instancetype)messageWithPayloadSize:(NSNumber *)payloadSize { + RMTStreamingOutputCallResponse * response = [self message]; + response.payload.type = RMTPayloadType_Compressable; + response.payload.body = [NSMutableData dataWithLength:payloadSize.unsignedIntegerValue]; + return response; +} +@end @interface RemoteProtoTests : XCTestCase @end @@ -57,133 +92,178 @@ - (void)testEmptyUnaryRPC { __weak XCTestExpectation *expectation = [self expectationWithDescription:@"EmptyUnary"]; - RMTEmpty *request = [RMTEmpty defaultInstance]; + RMTEmpty *request = [RMTEmpty message]; [_service emptyCallWithRequest:request handler:^(RMTEmpty *response, NSError *error) { XCTAssertNil(error, @"Finished with unexpected error: %@", error); - id expectedResponse = [RMTEmpty defaultInstance]; + id expectedResponse = [RMTEmpty message]; XCTAssertEqualObjects(response, expectedResponse); [expectation fulfill]; }]; - [self waitForExpectationsWithTimeout:2. handler:nil]; + [self waitForExpectationsWithTimeout:2 handler:nil]; } - (void)testLargeUnaryRPC { __weak XCTestExpectation *expectation = [self expectationWithDescription:@"LargeUnary"]; - RMTSimpleRequest *request = [[[[[[RMTSimpleRequestBuilder alloc] init] - setResponseType:RMTPayloadTypeCompressable] - setResponseSize:314159] - setPayloadBuilder:[[[RMTPayloadBuilder alloc] init] - setBody:[NSMutableData dataWithLength:271828]]] - build]; + RMTSimpleRequest *request = [RMTSimpleRequest message]; + request.responseType = RMTPayloadType_Compressable; + request.responseSize = 314159; + request.payload.body = [NSMutableData dataWithLength:271828]; [_service unaryCallWithRequest:request handler:^(RMTSimpleResponse *response, NSError *error) { XCTAssertNil(error, @"Finished with unexpected error: %@", error); - id expectedResponse = [[[[RMTSimpleResponseBuilder alloc] init] - setPayloadBuilder:[[[[RMTPayloadBuilder alloc] init] - setType:RMTPayloadTypeCompressable] - setBody:[NSMutableData dataWithLength:314159]]] - build]; + RMTSimpleResponse *expectedResponse = [RMTSimpleResponse message]; + expectedResponse.payload.type = RMTPayloadType_Compressable; + expectedResponse.payload.body = [NSMutableData dataWithLength:314159]; XCTAssertEqualObjects(response, expectedResponse); [expectation fulfill]; }]; - [self waitForExpectationsWithTimeout:4. handler:nil]; + [self waitForExpectationsWithTimeout:4 handler:nil]; } - (void)testClientStreamingRPC { __weak XCTestExpectation *expectation = [self expectationWithDescription:@"ClientStreaming"]; - id request1 = [[[[RMTStreamingInputCallRequestBuilder alloc] init] - setPayloadBuilder:[[[RMTPayloadBuilder alloc] init] - setBody:[NSMutableData dataWithLength:27182]]] - build]; - id request2 = [[[[RMTStreamingInputCallRequestBuilder alloc] init] - setPayloadBuilder:[[[RMTPayloadBuilder alloc] init] - setBody:[NSMutableData dataWithLength:8]]] - build]; - id request3 = [[[[RMTStreamingInputCallRequestBuilder alloc] init] - setPayloadBuilder:[[[RMTPayloadBuilder alloc] init] - setBody:[NSMutableData dataWithLength:1828]]] - build]; - id request4 = [[[[RMTStreamingInputCallRequestBuilder alloc] init] - setPayloadBuilder:[[[RMTPayloadBuilder alloc] init] - setBody:[NSMutableData dataWithLength:45904]]] - build]; + RMTStreamingInputCallRequest *request1 = [RMTStreamingInputCallRequest message]; + request1.payload.body = [NSMutableData dataWithLength:27182]; + + RMTStreamingInputCallRequest *request2 = [RMTStreamingInputCallRequest message]; + request2.payload.body = [NSMutableData dataWithLength:8]; + + RMTStreamingInputCallRequest *request3 = [RMTStreamingInputCallRequest message]; + request3.payload.body = [NSMutableData dataWithLength:1828]; + + RMTStreamingInputCallRequest *request4 = [RMTStreamingInputCallRequest message]; + request4.payload.body = [NSMutableData dataWithLength:45904]; + id<GRXWriter> writer = [GRXWriter writerWithContainer:@[request1, request2, request3, request4]]; [_service streamingInputCallWithRequestsWriter:writer - handler:^(RMTStreamingInputCallResponse *response, NSError *error) { + handler:^(RMTStreamingInputCallResponse *response, + NSError *error) { XCTAssertNil(error, @"Finished with unexpected error: %@", error); - id expectedResponse = [[[[RMTStreamingInputCallResponseBuilder alloc] init] - setAggregatedPayloadSize:74922] - build]; + RMTStreamingInputCallResponse *expectedResponse = [RMTStreamingInputCallResponse message]; + expectedResponse.aggregatedPayloadSize = 74922; XCTAssertEqualObjects(response, expectedResponse); [expectation fulfill]; }]; - [self waitForExpectationsWithTimeout:4. handler:nil]; + [self waitForExpectationsWithTimeout:4 handler:nil]; } - (void)testServerStreamingRPC { __weak XCTestExpectation *expectation = [self expectationWithDescription:@"ServerStreaming"]; + NSArray *expectedSizes = @[@31415, @9, @2653, @58979]; + + RMTStreamingOutputCallRequest *request = [RMTStreamingOutputCallRequest message]; + for (NSNumber *size in expectedSizes) { + RMTResponseParameters *parameters = [RMTResponseParameters message]; + parameters.size = [size integerValue]; + [request.responseParametersArray addObject:parameters]; + } + __block int index = 0; - id request = [[[[[[[RMTStreamingOutputCallRequestBuilder alloc] init] - addResponseParameters:[[[[RMTResponseParametersBuilder alloc] init] - setSize:31415] build]] - addResponseParameters:[[[[RMTResponseParametersBuilder alloc] init] - setSize:9] build]] - addResponseParameters:[[[[RMTResponseParametersBuilder alloc] init] - setSize:2653] build]] - addResponseParameters:[[[[RMTResponseParametersBuilder alloc] init] - setSize:58979] build]] - build]; - [_service streamingOutputCallWithRequest:request handler:^(BOOL done, RMTStreamingOutputCallResponse *response, NSError *error){ + [_service streamingOutputCallWithRequest:request + handler:^(BOOL done, + RMTStreamingOutputCallResponse *response, + NSError *error){ XCTAssertNil(error, @"Finished with unexpected error: %@", error); - id expectedResponseBuilder = [[RMTStreamingOutputCallResponseBuilder alloc] init]; - id expectedPayload = [[[[[RMTPayloadBuilder alloc] init] - setType:RMTPayloadTypeCompressable] - setBody:[NSMutableData dataWithLength:[expectedSizes[index] unsignedIntegerValue]]] - build]; - expectedResponseBuilder = [expectedResponseBuilder setPayload:expectedPayload]; - id expectedResponse = [expectedResponseBuilder build]; - XCTAssertEqualObjects(response, expectedResponse); - - [expectation fulfill]; - index += 1; + XCTAssertTrue(done || response, @"Event handler called without an event."); + + if (response) { + XCTAssertLessThan(index, 4, @"More than 4 responses received."); + id expected = [RMTStreamingOutputCallResponse messageWithPayloadSize:expectedSizes[index]]; + XCTAssertEqualObjects(response, expected); + index += 1; + } + + if (done) { + XCTAssertEqual(index, 4, @"Received %i responses instead of 4.", index); + [expectation fulfill]; + } }]; [self waitForExpectationsWithTimeout:4 handler:nil]; } +- (void)testPingPongRPC { + __weak XCTestExpectation *expectation = [self expectationWithDescription:@"PingPong"]; + + NSArray *requests = @[@27182, @8, @1828, @45904]; + NSArray *responses = @[@31415, @9, @2653, @58979]; + + GRXBufferedPipe *requestsBuffer = [[GRXBufferedPipe alloc] init]; + + __block int index = 0; + + id request = [RMTStreamingOutputCallRequest messageWithPayloadSize:requests[index] + requestedResponseSize:responses[index]]; + [requestsBuffer didReceiveValue:request]; + + [_service fullDuplexCallWithRequestsWriter:requestsBuffer + handler:^(BOOL done, + RMTStreamingOutputCallResponse *response, + NSError *error) { + XCTAssertNil(error, @"Finished with unexpected error: %@", error); + XCTAssertTrue(done || response, @"Event handler called without an event."); + + if (response) { + XCTAssertLessThan(index, 4, @"More than 4 responses received."); + id expected = [RMTStreamingOutputCallResponse messageWithPayloadSize:responses[index]]; + XCTAssertEqualObjects(response, expected); + index += 1; + if (index < 4) { + id request = [RMTStreamingOutputCallRequest messageWithPayloadSize:requests[index] + requestedResponseSize:responses[index]]; + [requestsBuffer didReceiveValue:request]; + } else { + [requestsBuffer didFinishWithError:nil]; + } + } + + if (done) { + XCTAssertEqual(index, 4, @"Received %i responses instead of 4.", index); + [expectation fulfill]; + } + }]; + [self waitForExpectationsWithTimeout:2 handler:nil]; +} + - (void)testEmptyStreamRPC { __weak XCTestExpectation *expectation = [self expectationWithDescription:@"EmptyStream"]; [_service fullDuplexCallWithRequestsWriter:[GRXWriter emptyWriter] - handler:^(bool done, RMTStreamingOutputCallResponse *response, NSError *error) { - XCTAssertNil(error, @"Finished with unexpected error: %@", error); - XCTAssert(done, @"Unexpected response: %@", response); - [expectation fulfill]; - }]; - [self waitForExpectationsWithTimeout:4 handler:nil]; + handler:^(BOOL done, + RMTStreamingOutputCallResponse *response, + NSError *error) { + XCTAssertNil(error, @"Finished with unexpected error: %@", error); + XCTAssert(done, @"Unexpected response: %@", response); + [expectation fulfill]; + }]; + [self waitForExpectationsWithTimeout:2 handler:nil]; } - (void)testCancelAfterBeginRPC { __weak XCTestExpectation *expectation = [self expectationWithDescription:@"CancelAfterBegin"]; - // TODO(mlumish): change to writing that blocks instead of writing - ProtoRPC *call = [_service RPCToStreamingInputCallWithRequestsWriter:[GRXWriter emptyWriter] - handler:^(RMTStreamingInputCallResponse *response, NSError *error) { - XCTAssertEqual([error code], GRPC_STATUS_CANCELLED); - [expectation fulfill]; - }]; + + // A buffered pipe to which we never write any value acts as a writer that just hangs. + GRXBufferedPipe *requestsBuffer = [[GRXBufferedPipe alloc] init]; + + ProtoRPC *call = [_service RPCToStreamingInputCallWithRequestsWriter:requestsBuffer + handler:^(RMTStreamingInputCallResponse *response, + NSError *error) { + XCTAssertEqual(error.code, GRPC_STATUS_CANCELLED); + [expectation fulfill]; + }]; [call start]; [call cancel]; [self waitForExpectationsWithTimeout:1 handler:nil]; diff --git a/src/objective-c/examples/Sample/SampleTests/RemoteTests.m b/src/objective-c/examples/Sample/SampleTests/RemoteTests.m index 6091aa9d31..553c813b0b 100644 --- a/src/objective-c/examples/Sample/SampleTests/RemoteTests.m +++ b/src/objective-c/examples/Sample/SampleTests/RemoteTests.m @@ -38,7 +38,7 @@ #import <gRPC/GRPCMethodName.h> #import <gRPC/GRXWriter+Immediate.h> #import <gRPC/GRXWriteable.h> -#import <RemoteTest/Messages.pb.h> +#import <RemoteTest/Messages.pbobjc.h> @interface RemoteTests : XCTestCase @end @@ -111,11 +111,10 @@ interface:@"TestService" method:@"UnaryCall"]; - RMTSimpleRequest *request = [[[[[[RMTSimpleRequestBuilder alloc] init] - setResponseSize:100] - setFillUsername:YES] - setFillOauthScope:YES] - build]; + RMTSimpleRequest *request = [[RMTSimpleRequest alloc] init]; + request.responseSize = 100; + request.fillUsername = YES; + request.fillOauthScope = YES; id<GRXWriter> requestsWriter = [GRXWriter writerWithValue:[request data]]; GRPCCall *call = [[GRPCCall alloc] initWithHost:@"grpc-test.sandbox.google.com" diff --git a/src/objective-c/examples/Sample/SampleTests/SampleTests.m b/src/objective-c/examples/Sample/SampleTests/SampleTests.m index 6d6875c233..b1a0f78a01 100644 --- a/src/objective-c/examples/Sample/SampleTests/SampleTests.m +++ b/src/objective-c/examples/Sample/SampleTests/SampleTests.m @@ -38,7 +38,8 @@ #import <gRPC/GRPCMethodName.h> #import <gRPC/GRXWriter+Immediate.h> #import <gRPC/GRXWriteable.h> -#import <Route_guide/Route_guide.pb.h> +#import <Route_guide/RouteGuide.pbobjc.h> +#import <Route_guide/RouteGuide.pbrpc.h> @interface SampleTests : XCTestCase @end @@ -105,15 +106,15 @@ - (void)testSimpleProtoRPC { __weak XCTestExpectation *response = [self expectationWithDescription:@"Response received."]; - __weak XCTestExpectation *expectedResponse = - [self expectationWithDescription:@"Expected response."]; __weak XCTestExpectation *completion = [self expectationWithDescription:@"RPC completed."]; GRPCMethodName *method = [[GRPCMethodName alloc] initWithPackage:@"grpc.example.routeguide" interface:@"RouteGuide" method:@"GetFeature"]; - RGDPoint *point = [[[[[RGDPointBuilder alloc] init] setLatitude:28E7] setLongitude:-15E7] build]; + RGDPoint *point = [RGDPoint message]; + point.latitude = 28E7; + point.longitude = -15E7; id<GRXWriter> requestsWriter = [GRXWriter writerWithValue:[point data]]; GRPCCall *call = [[GRPCCall alloc] initWithHost:@"http://127.0.0.1:8980" @@ -122,11 +123,10 @@ id<GRXWriteable> responsesWriteable = [[GRXWriteable alloc] initWithValueHandler:^(NSData *value) { XCTAssertNotNil(value, @"nil value received as response."); - [response fulfill]; RGDFeature *feature = [RGDFeature parseFromData:value]; XCTAssertEqualObjects(point, feature.location); XCTAssertNotNil(feature.name, @"Response's name is nil."); - [expectedResponse fulfill]; + [response fulfill]; } completionHandler:^(NSError *errorOrNil) { XCTAssertNil(errorOrNil, @"Finished with unexpected error: %@", errorOrNil); [completion fulfill]; @@ -136,4 +136,22 @@ [self waitForExpectationsWithTimeout:2.0 handler:nil]; } + +- (void)testSimpleProtoRPCUsingGeneratedService { + __weak XCTestExpectation *completion = [self expectationWithDescription:@"RPC completed."]; + + RGDPoint *point = [RGDPoint message]; + point.latitude = 28E7; + point.longitude = -15E7; + + RGDRouteGuide *service = [[RGDRouteGuide alloc] initWithHost:@"http://127.0.0.1:8980"]; + [service getFeatureWithRequest:point handler:^(RGDFeature *response, NSError *error) { + XCTAssertNil(error, @"Finished with unexpected error: %@", error); + XCTAssertEqualObjects(point, response.location); + XCTAssertNotNil(response.name, @"Response's name is nil."); + [completion fulfill]; + }]; + + [self waitForExpectationsWithTimeout:2.0 handler:nil]; +} @end |