mirror of https://github.com/grpc/grpc.git
parent
9f95dcdc9a
commit
e37a41cf66
8 changed files with 26 additions and 628 deletions
@ -1,134 +0,0 @@ |
||||
// 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 |
@ -1,355 +0,0 @@ |
||||
// 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 |
||||
|
@ -1,43 +0,0 @@ |
||||
#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 |
@ -1,72 +0,0 @@ |
||||
#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 |
@ -0,0 +1,24 @@ |
||||
Pod::Spec.new do |s| |
||||
s.name = "RouteGuide" |
||||
s.version = "0.0.1" |
||||
s.license = "New BSD" |
||||
|
||||
s.ios.deployment_target = "6.0" |
||||
s.osx.deployment_target = "10.8" |
||||
|
||||
# Run protoc with the Objective-C and gRPC plugins to generate protocol messages and gRPC clients. |
||||
s.prepare_command = "protoc --objc_out=. --objcgrpc_out=. *.proto" |
||||
|
||||
s.subspec "Messages" do |ms| |
||||
ms.source_files = "*.pbobjc.{h,m}" |
||||
ms.requires_arc = false |
||||
ms.dependency "Protobuf", "~> 3.0.0-alpha-3" |
||||
end |
||||
|
||||
s.subspec "Services" do |ss| |
||||
ss.source_files = "*.pbrpc.{h,m}" |
||||
ss.requires_arc = true |
||||
ss.dependency "gRPC", "~> 0.5" |
||||
ss.dependency "#{s.name}/Messages" |
||||
end |
||||
end |
@ -1,22 +0,0 @@ |
||||
Pod::Spec.new do |s| |
||||
s.name = 'Route_guide' |
||||
s.version = '0.0.1' |
||||
s.summary = 'Protobuf library generated from route_guide.proto' |
||||
s.license = 'New BSD' |
||||
|
||||
s.ios.deployment_target = '6.0' |
||||
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.0-alpha-3' |
||||
end |
||||
|
||||
s.subspec 'Services' do |ss| |
||||
ss.source_files = '*.pbrpc.{h,m}' |
||||
ss.requires_arc = true |
||||
ss.dependency 'gRPC', '~> 0.5' |
||||
ss.dependency 'Route_guide/Messages' |
||||
end |
||||
end |
Loading…
Reference in new issue