Home | History | Annotate | Download | only in tests
      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:
     33   static constexpr char const* service_full_name() {
     34     return "MyGame.Example.MonsterStorage";
     35   }
     36   class StubInterface {
     37    public:
     38     virtual ~StubInterface() {}
     39     virtual ::grpc::Status Store(::grpc::ClientContext* context, const flatbuffers::grpc::Message<Monster>& request, flatbuffers::grpc::Message<Stat>* response) = 0;
     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     }
     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     }
     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;
     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     }
     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     }
     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:
     88     void BaseClassMustBeDerivedFromService(const Service *service) {}
     89    public:
     90     WithAsyncMethod_Store() {
     91       ::grpc::Service::MarkMethodAsync(0);
     92     }
     93     ~WithAsyncMethod_Store() override {
     94       BaseClassMustBeDerivedFromService(this);
     95     }
     96     // disable synchronous version of this method
     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     }
    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:
    108     void BaseClassMustBeDerivedFromService(const Service *service) {}
    109    public:
    110     WithAsyncMethod_Retrieve() {
    111       ::grpc::Service::MarkMethodAsync(1);
    112     }
    113     ~WithAsyncMethod_Retrieve() override {
    114       BaseClassMustBeDerivedFromService(this);
    115     }
    116     // disable synchronous version of this method
    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     }
    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:
    129     void BaseClassMustBeDerivedFromService(const Service *service) {}
    130    public:
    131     WithGenericMethod_Store() {
    132       ::grpc::Service::MarkMethodGeneric(0);
    133     }
    134     ~WithGenericMethod_Store() override {
    135       BaseClassMustBeDerivedFromService(this);
    136     }
    137     // disable synchronous version of this method
    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:
    146     void BaseClassMustBeDerivedFromService(const Service *service) {}
    147    public:
    148     WithGenericMethod_Retrieve() {
    149       ::grpc::Service::MarkMethodGeneric(1);
    150     }
    151     ~WithGenericMethod_Retrieve() override {
    152       BaseClassMustBeDerivedFromService(this);
    153     }
    154     // disable synchronous version of this method
    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:
    163     void BaseClassMustBeDerivedFromService(const Service *service) {}
    164    public:
    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     }
    169     ~WithStreamedUnaryMethod_Store() override {
    170       BaseClassMustBeDerivedFromService(this);
    171     }
    172     // disable regular version of this method
    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:
    184     void BaseClassMustBeDerivedFromService(const Service *service) {}
    185    public:
    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     }
    190     ~WithSplitStreamingMethod_Retrieve() override {
    191       BaseClassMustBeDerivedFromService(this);
    192     }
    193     // disable regular version of this method
    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