1 // Generated by the gRPC C++ plugin. 2 // If you make any local change, they will be lost. 3 // source: monster_test 4 #ifndef GRPC_monster_5ftest__INCLUDED 5 #define GRPC_monster_5ftest__INCLUDED 6 7 #include "flatbuffers/grpc.h" 8 #include "monster_test_generated.h" 9 10 #include <grpc++/impl/codegen/async_stream.h> 11 #include <grpc++/impl/codegen/async_unary_call.h> 12 #include <grpc++/impl/codegen/method_handler_impl.h> 13 #include <grpc++/impl/codegen/proto_utils.h> 14 #include <grpc++/impl/codegen/rpc_method.h> 15 #include <grpc++/impl/codegen/service_type.h> 16 #include <grpc++/impl/codegen/status.h> 17 #include <grpc++/impl/codegen/stub_options.h> 18 #include <grpc++/impl/codegen/sync_stream.h> 19 20 namespace grpc { 21 class CompletionQueue; 22 class Channel; 23 class RpcService; 24 class ServerCompletionQueue; 25 class ServerContext; 26 } // namespace grpc 27 28 namespace MyGame { 29 namespace Example { 30 31 class MonsterStorage final { 32 public: service_full_name()33 static constexpr char const* service_full_name() { 34 return "MyGame.Example.MonsterStorage"; 35 } 36 class StubInterface { 37 public: ~StubInterface()38 virtual ~StubInterface() {} 39 virtual ::grpc::Status Store(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Monster>& request, flatbuffers::grpc::Message<Stat>* response) = 0; AsyncStore(::grpc::ClientContext * context,const flatbuffers::grpc::Message<Monster> & request,::grpc::CompletionQueue * cq)40 std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::grpc::Message<Stat>>> AsyncStore(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Monster>& request, ::grpc::CompletionQueue* cq) { 41 return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::grpc::Message<Stat>>>(AsyncStoreRaw(context, request, cq)); 42 } Retrieve(::grpc::ClientContext * context,const flatbuffers::grpc::Message<Stat> & request)43 std::unique_ptr< ::grpc::ClientReaderInterface< flatbuffers::grpc::Message<Monster>>> Retrieve(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request) { 44 return std::unique_ptr< ::grpc::ClientReaderInterface< flatbuffers::grpc::Message<Monster>>>(RetrieveRaw(context, request)); 45 } AsyncRetrieve(::grpc::ClientContext * context,const flatbuffers::grpc::Message<Stat> & request,::grpc::CompletionQueue * cq,void * tag)46 std::unique_ptr< ::grpc::ClientAsyncReaderInterface< flatbuffers::grpc::Message<Monster>>> AsyncRetrieve(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) { 47 return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< flatbuffers::grpc::Message<Monster>>>(AsyncRetrieveRaw(context, request, cq, tag)); 48 } 49 private: 50 virtual ::grpc::ClientAsyncResponseReaderInterface< flatbuffers::grpc::Message<Stat>>* AsyncStoreRaw(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Monster>& request, ::grpc::CompletionQueue* cq) = 0; 51 virtual ::grpc::ClientReaderInterface< flatbuffers::grpc::Message<Monster>>* RetrieveRaw(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request) = 0; 52 virtual ::grpc::ClientAsyncReaderInterface< flatbuffers::grpc::Message<Monster>>* AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) = 0; 53 }; 54 class Stub final : public StubInterface { 55 public: 56 Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel); 57 ::grpc::Status Store(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Monster>& request, flatbuffers::grpc::Message<Stat>* response) override; AsyncStore(::grpc::ClientContext * context,const flatbuffers::grpc::Message<Monster> & request,::grpc::CompletionQueue * cq)58 std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::grpc::Message<Stat>>> AsyncStore(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Monster>& request, ::grpc::CompletionQueue* cq) { 59 return std::unique_ptr< ::grpc::ClientAsyncResponseReader< flatbuffers::grpc::Message<Stat>>>(AsyncStoreRaw(context, request, cq)); 60 } Retrieve(::grpc::ClientContext * context,const flatbuffers::grpc::Message<Stat> & request)61 std::unique_ptr< ::grpc::ClientReader< flatbuffers::grpc::Message<Monster>>> Retrieve(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request) { 62 return std::unique_ptr< ::grpc::ClientReader< flatbuffers::grpc::Message<Monster>>>(RetrieveRaw(context, request)); 63 } AsyncRetrieve(::grpc::ClientContext * context,const flatbuffers::grpc::Message<Stat> & request,::grpc::CompletionQueue * cq,void * tag)64 std::unique_ptr< ::grpc::ClientAsyncReader< flatbuffers::grpc::Message<Monster>>> AsyncRetrieve(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) { 65 return std::unique_ptr< ::grpc::ClientAsyncReader< flatbuffers::grpc::Message<Monster>>>(AsyncRetrieveRaw(context, request, cq, tag)); 66 } 67 68 private: 69 std::shared_ptr< ::grpc::ChannelInterface> channel_; 70 ::grpc::ClientAsyncResponseReader< flatbuffers::grpc::Message<Stat>>* AsyncStoreRaw(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Monster>& request, ::grpc::CompletionQueue* cq) override; 71 ::grpc::ClientReader< flatbuffers::grpc::Message<Monster>>* RetrieveRaw(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request) override; 72 ::grpc::ClientAsyncReader< flatbuffers::grpc::Message<Monster>>* AsyncRetrieveRaw(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Stat>& request, ::grpc::CompletionQueue* cq, void* tag) override; 73 const ::grpc::RpcMethod rpcmethod_Store_; 74 const ::grpc::RpcMethod rpcmethod_Retrieve_; 75 }; 76 static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); 77 78 class Service : public ::grpc::Service { 79 public: 80 Service(); 81 virtual ~Service(); 82 virtual ::grpc::Status Store(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Monster>* request, flatbuffers::grpc::Message<Stat>* response); 83 virtual ::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Stat>* request, ::grpc::ServerWriter< flatbuffers::grpc::Message<Monster>>* writer); 84 }; 85 template <class BaseClass> 86 class WithAsyncMethod_Store : public BaseClass { 87 private: BaseClassMustBeDerivedFromService(const Service * service)88 void BaseClassMustBeDerivedFromService(const Service *service) {} 89 public: WithAsyncMethod_Store()90 WithAsyncMethod_Store() { 91 ::grpc::Service::MarkMethodAsync(0); 92 } ~WithAsyncMethod_Store()93 ~WithAsyncMethod_Store() override { 94 BaseClassMustBeDerivedFromService(this); 95 } 96 // disable synchronous version of this method Store(::grpc::ServerContext * context,const flatbuffers::grpc::Message<Monster> * request,flatbuffers::grpc::Message<Stat> * response)97 ::grpc::Status Store(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Monster>* request, flatbuffers::grpc::Message<Stat>* response) final override { 98 abort(); 99 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); 100 } RequestStore(::grpc::ServerContext * context,flatbuffers::grpc::Message<Monster> * request,::grpc::ServerAsyncResponseWriter<flatbuffers::grpc::Message<Stat>> * response,::grpc::CompletionQueue * new_call_cq,::grpc::ServerCompletionQueue * notification_cq,void * tag)101 void RequestStore(::grpc::ServerContext* context, flatbuffers::grpc::Message<Monster>* request, ::grpc::ServerAsyncResponseWriter< flatbuffers::grpc::Message<Stat>>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { 102 ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); 103 } 104 }; 105 template <class BaseClass> 106 class WithAsyncMethod_Retrieve : public BaseClass { 107 private: BaseClassMustBeDerivedFromService(const Service * service)108 void BaseClassMustBeDerivedFromService(const Service *service) {} 109 public: WithAsyncMethod_Retrieve()110 WithAsyncMethod_Retrieve() { 111 ::grpc::Service::MarkMethodAsync(1); 112 } ~WithAsyncMethod_Retrieve()113 ~WithAsyncMethod_Retrieve() override { 114 BaseClassMustBeDerivedFromService(this); 115 } 116 // disable synchronous version of this method Retrieve(::grpc::ServerContext * context,const flatbuffers::grpc::Message<Stat> * request,::grpc::ServerWriter<flatbuffers::grpc::Message<Monster>> * writer)117 ::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Stat>* request, ::grpc::ServerWriter< flatbuffers::grpc::Message<Monster>>* writer) final override { 118 abort(); 119 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); 120 } RequestRetrieve(::grpc::ServerContext * context,flatbuffers::grpc::Message<Stat> * request,::grpc::ServerAsyncWriter<flatbuffers::grpc::Message<Monster>> * writer,::grpc::CompletionQueue * new_call_cq,::grpc::ServerCompletionQueue * notification_cq,void * tag)121 void RequestRetrieve(::grpc::ServerContext* context, flatbuffers::grpc::Message<Stat>* request, ::grpc::ServerAsyncWriter< flatbuffers::grpc::Message<Monster>>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { 122 ::grpc::Service::RequestAsyncServerStreaming(1, context, request, writer, new_call_cq, notification_cq, tag); 123 } 124 }; 125 typedef WithAsyncMethod_Store< WithAsyncMethod_Retrieve< Service > > AsyncService; 126 template <class BaseClass> 127 class WithGenericMethod_Store : public BaseClass { 128 private: BaseClassMustBeDerivedFromService(const Service * service)129 void BaseClassMustBeDerivedFromService(const Service *service) {} 130 public: WithGenericMethod_Store()131 WithGenericMethod_Store() { 132 ::grpc::Service::MarkMethodGeneric(0); 133 } ~WithGenericMethod_Store()134 ~WithGenericMethod_Store() override { 135 BaseClassMustBeDerivedFromService(this); 136 } 137 // disable synchronous version of this method Store(::grpc::ServerContext * context,const flatbuffers::grpc::Message<Monster> * request,flatbuffers::grpc::Message<Stat> * response)138 ::grpc::Status Store(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Monster>* request, flatbuffers::grpc::Message<Stat>* response) final override { 139 abort(); 140 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); 141 } 142 }; 143 template <class BaseClass> 144 class WithGenericMethod_Retrieve : public BaseClass { 145 private: BaseClassMustBeDerivedFromService(const Service * service)146 void BaseClassMustBeDerivedFromService(const Service *service) {} 147 public: WithGenericMethod_Retrieve()148 WithGenericMethod_Retrieve() { 149 ::grpc::Service::MarkMethodGeneric(1); 150 } ~WithGenericMethod_Retrieve()151 ~WithGenericMethod_Retrieve() override { 152 BaseClassMustBeDerivedFromService(this); 153 } 154 // disable synchronous version of this method Retrieve(::grpc::ServerContext * context,const flatbuffers::grpc::Message<Stat> * request,::grpc::ServerWriter<flatbuffers::grpc::Message<Monster>> * writer)155 ::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Stat>* request, ::grpc::ServerWriter< flatbuffers::grpc::Message<Monster>>* writer) final override { 156 abort(); 157 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); 158 } 159 }; 160 template <class BaseClass> 161 class WithStreamedUnaryMethod_Store : public BaseClass { 162 private: BaseClassMustBeDerivedFromService(const Service * service)163 void BaseClassMustBeDerivedFromService(const Service *service) {} 164 public: WithStreamedUnaryMethod_Store()165 WithStreamedUnaryMethod_Store() { 166 ::grpc::Service::MarkMethodStreamed(0, 167 new ::grpc::StreamedUnaryHandler< flatbuffers::grpc::Message<Monster>, flatbuffers::grpc::Message<Stat>>(std::bind(&WithStreamedUnaryMethod_Store<BaseClass>::StreamedStore, this, std::placeholders::_1, std::placeholders::_2))); 168 } ~WithStreamedUnaryMethod_Store()169 ~WithStreamedUnaryMethod_Store() override { 170 BaseClassMustBeDerivedFromService(this); 171 } 172 // disable regular version of this method Store(::grpc::ServerContext * context,const flatbuffers::grpc::Message<Monster> * request,flatbuffers::grpc::Message<Stat> * response)173 ::grpc::Status Store(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Monster>* request, flatbuffers::grpc::Message<Stat>* response) final override { 174 abort(); 175 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); 176 } 177 // replace default version of method with streamed unary 178 virtual ::grpc::Status StreamedStore(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< flatbuffers::grpc::Message<Monster>,flatbuffers::grpc::Message<Stat>>* server_unary_streamer) = 0; 179 }; 180 typedef WithStreamedUnaryMethod_Store< Service > StreamedUnaryService; 181 template <class BaseClass> 182 class WithSplitStreamingMethod_Retrieve : public BaseClass { 183 private: BaseClassMustBeDerivedFromService(const Service * service)184 void BaseClassMustBeDerivedFromService(const Service *service) {} 185 public: WithSplitStreamingMethod_Retrieve()186 WithSplitStreamingMethod_Retrieve() { 187 ::grpc::Service::MarkMethodStreamed(1, 188 new ::grpc::SplitServerStreamingHandler< flatbuffers::grpc::Message<Stat>, flatbuffers::grpc::Message<Monster>>(std::bind(&WithSplitStreamingMethod_Retrieve<BaseClass>::StreamedRetrieve, this, std::placeholders::_1, std::placeholders::_2))); 189 } ~WithSplitStreamingMethod_Retrieve()190 ~WithSplitStreamingMethod_Retrieve() override { 191 BaseClassMustBeDerivedFromService(this); 192 } 193 // disable regular version of this method Retrieve(::grpc::ServerContext * context,const flatbuffers::grpc::Message<Stat> * request,::grpc::ServerWriter<flatbuffers::grpc::Message<Monster>> * writer)194 ::grpc::Status Retrieve(::grpc::ServerContext* context, const flatbuffers::grpc::Message<Stat>* request, ::grpc::ServerWriter< flatbuffers::grpc::Message<Monster>>* writer) final override { 195 abort(); 196 return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); 197 } 198 // replace default version of method with split streamed 199 virtual ::grpc::Status StreamedRetrieve(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< flatbuffers::grpc::Message<Stat>,flatbuffers::grpc::Message<Monster>>* server_split_streamer) = 0; 200 }; 201 typedef WithSplitStreamingMethod_Retrieve< Service > SplitStreamedService; 202 typedef WithStreamedUnaryMethod_Store< WithSplitStreamingMethod_Retrieve< Service > > StreamedService; 203 }; 204 205 } // namespace Example 206 } // namespace MyGame 207 208 209 #endif // GRPC_monster_5ftest__INCLUDED 210