aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objective-c
diff options
context:
space:
mode:
Diffstat (limited to 'src/objective-c')
-rw-r--r--src/objective-c/ProtoRPC/ProtoRPC.m4
-rw-r--r--src/objective-c/RxLibrary/GRXBufferedPipe.h59
-rw-r--r--src/objective-c/RxLibrary/GRXBufferedPipe.m146
-rw-r--r--src/objective-c/examples/Sample/Podfile1
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.h103
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Empty.pb.m179
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.h33
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Empty.pbobjc.m59
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.h578
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Messages.pb.m2256
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.h221
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Messages.pbobjc.m603
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/RemoteTest.podspec20
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Test.pb.h167
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Test.pb.m163
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.h12
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Test.pbobjc.m9
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.h59
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/Test.pbrpc.m96
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/empty.proto6
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/messages.proto40
-rw-r--r--src/objective-c/examples/Sample/RemoteTestClient/test.proto21
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.h134
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbobjc.m355
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.h43
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/RouteGuide.pbrpc.m72
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.h387
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/Route_guide.pb.m1435
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/Route_guide.podspec19
-rw-r--r--src/objective-c/examples/Sample/RouteGuideClient/route_guide.proto37
-rw-r--r--src/objective-c/examples/Sample/Sample/ViewController.m37
-rw-r--r--src/objective-c/examples/Sample/SampleTests/RemoteProtoTests.m226
-rw-r--r--src/objective-c/examples/Sample/SampleTests/RemoteTests.m11
-rw-r--r--src/objective-c/examples/Sample/SampleTests/SampleTests.m30
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