1 module routeguide.route_guiderpc;
2 
3 
4 // Generated by the gRPC dlang plugin.
5 
6 
7 import routeguide.route_guide;
8 import std.array;
9 import grpc;
10 import google.protobuf;
11 import hunt.logging;
12 import core.thread;
13 
14 
15 
16 
17 class RouteGuideClient
18 {
19 	this(Channel channel)
20 	{
21 		_channel = channel;
22 	}
23 
24 	Feature GetFeature( Point request)
25 	{
26 		mixin(CM!(Feature , RouteGuideBase.SERVICE));
27 	}
28 
29 	void GetFeature( Point request , void delegate(Status status , Feature response) dele)
30 	{
31 		mixin(CMA!(Feature , RouteGuideBase.SERVICE));
32 	}
33 
34 	ClientReader!Feature ListFeatures(Rectangle request ){
35 		mixin(CM1!(Feature , RouteGuideBase.SERVICE));
36 	}
37 	ClientWriter!Point RecordRoute( ref RouteSummary response ){
38 		mixin(CM2!(Point , RouteGuideBase.SERVICE));
39 	}
40 	ClientReaderWriter!(RouteNote ,RouteNote) RouteChat(){
41 		mixin(CM3!(RouteNote , RouteNote  , RouteGuideBase.SERVICE));
42 	}
43 
44 	private:
45 	Channel _channel;
46 }
47 
48 class RouteGuideBase: GrpcService
49 {
50 	enum SERVICE  = "routeguide.RouteGuide";
51 	string getModule()
52 	{
53 		return SERVICE;
54 	}
55 
56 	Status GetFeature(Point , ref Feature){ return Status.OK; }
57 	Status ListFeatures(Rectangle , ServerWriter!Feature){ return Status.OK; }
58 	Status RecordRoute(ServerReader!Point , ref RouteSummary){ return Status.OK; }
59 	Status RouteChat(ServerReaderWriter!(RouteNote , RouteNote)){ return Status.OK; }
60 
61 	Status process(string method , GrpcStream stream, ubyte[] complete)
62 	{
63 		switch(method)
64 		{
65 			mixin(SM!(Point , Feature , "GetFeature"));
66 			mixin(SM1!(Rectangle , Feature , "ListFeatures"));
67 			mixin(SM2!(Point , RouteSummary , "RecordRoute"));
68 			mixin(SM3!(RouteNote , RouteNote , "RouteChat"));
69 			mixin(NONE());
70 		}
71 	}
72 }
73 
74