| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 | // Generated by the gRPC protobuf plugin.// If you make any local change, they will be lost.// source: src/proto/grpc/testing/compiler_test.proto// Original file comments:// Copyright 2016, 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.//// File detached comment 1//// File detached comment 2//// File leading comment 1#ifndef GRPC_src_2fproto_2fgrpc_2ftesting_2fcompiler_5ftest_2eproto__INCLUDED#define GRPC_src_2fproto_2fgrpc_2ftesting_2fcompiler_5ftest_2eproto__INCLUDED#include "src/proto/grpc/testing/compiler_test.pb.h"#include <grpc++/impl/codegen/async_stream.h>#include <grpc++/impl/codegen/async_unary_call.h>#include <grpc++/impl/codegen/method_handler_impl.h>#include <grpc++/impl/codegen/proto_utils.h>#include <grpc++/impl/codegen/rpc_method.h>#include <grpc++/impl/codegen/service_type.h>#include <grpc++/impl/codegen/status.h>#include <grpc++/impl/codegen/stub_options.h>#include <grpc++/impl/codegen/sync_stream.h>namespace grpc {class CompletionQueue;class Channel;class RpcService;class ServerCompletionQueue;class ServerContext;}  // namespace grpcnamespace grpc {namespace testing {// ServiceA detached comment 1//// ServiceA detached comment 2//// ServiceA leading comment 1class ServiceA final { public:  class StubInterface {   public:    virtual ~StubInterface() {}    // MethodA1 leading comment 1    virtual ::grpc::Status MethodA1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::testing::Response* response) = 0;    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::testing::Response>> AsyncMethodA1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) {      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::testing::Response>>(AsyncMethodA1Raw(context, request, cq));    }    // MethodA1 trailing comment 1    // MethodA2 detached leading comment 1    //    // Method A2 leading comment 1    // Method A2 leading comment 2    std::unique_ptr< ::grpc::ClientWriterInterface< ::grpc::testing::Request>> MethodA2(::grpc::ClientContext* context, ::grpc::testing::Response* response) {      return std::unique_ptr< ::grpc::ClientWriterInterface< ::grpc::testing::Request>>(MethodA2Raw(context, response));    }    std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::grpc::testing::Request>> AsyncMethodA2(::grpc::ClientContext* context, ::grpc::testing::Response* response, ::grpc::CompletionQueue* cq, void* tag) {      return std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::grpc::testing::Request>>(AsyncMethodA2Raw(context, response, cq, tag));    }    // MethodA2 trailing comment 1  private:    virtual ::grpc::ClientAsyncResponseReaderInterface< ::grpc::testing::Response>* AsyncMethodA1Raw(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) = 0;    virtual ::grpc::ClientWriterInterface< ::grpc::testing::Request>* MethodA2Raw(::grpc::ClientContext* context, ::grpc::testing::Response* response) = 0;    virtual ::grpc::ClientAsyncWriterInterface< ::grpc::testing::Request>* AsyncMethodA2Raw(::grpc::ClientContext* context, ::grpc::testing::Response* response, ::grpc::CompletionQueue* cq, void* tag) = 0;  };  class Stub final : public StubInterface {   public:    Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel);    ::grpc::Status MethodA1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::testing::Response* response) override;    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::grpc::testing::Response>> AsyncMethodA1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) {      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::grpc::testing::Response>>(AsyncMethodA1Raw(context, request, cq));    }    std::unique_ptr< ::grpc::ClientWriter< ::grpc::testing::Request>> MethodA2(::grpc::ClientContext* context, ::grpc::testing::Response* response) {      return std::unique_ptr< ::grpc::ClientWriter< ::grpc::testing::Request>>(MethodA2Raw(context, response));    }    std::unique_ptr< ::grpc::ClientAsyncWriter< ::grpc::testing::Request>> AsyncMethodA2(::grpc::ClientContext* context, ::grpc::testing::Response* response, ::grpc::CompletionQueue* cq, void* tag) {      return std::unique_ptr< ::grpc::ClientAsyncWriter< ::grpc::testing::Request>>(AsyncMethodA2Raw(context, response, cq, tag));    }   private:    std::shared_ptr< ::grpc::ChannelInterface> channel_;    ::grpc::ClientAsyncResponseReader< ::grpc::testing::Response>* AsyncMethodA1Raw(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) override;    ::grpc::ClientWriter< ::grpc::testing::Request>* MethodA2Raw(::grpc::ClientContext* context, ::grpc::testing::Response* response) override;    ::grpc::ClientAsyncWriter< ::grpc::testing::Request>* AsyncMethodA2Raw(::grpc::ClientContext* context, ::grpc::testing::Response* response, ::grpc::CompletionQueue* cq, void* tag) override;    const ::grpc::RpcMethod rpcmethod_MethodA1_;    const ::grpc::RpcMethod rpcmethod_MethodA2_;  };  static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());  class Service : public ::grpc::Service {   public:    Service();    virtual ~Service();    // MethodA1 leading comment 1    virtual ::grpc::Status MethodA1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response);    // MethodA1 trailing comment 1    // MethodA2 detached leading comment 1    //    // Method A2 leading comment 1    // Method A2 leading comment 2    virtual ::grpc::Status MethodA2(::grpc::ServerContext* context, ::grpc::ServerReader< ::grpc::testing::Request>* reader, ::grpc::testing::Response* response);    // MethodA2 trailing comment 1  };  template <class BaseClass>  class WithAsyncMethod_MethodA1 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithAsyncMethod_MethodA1() {      ::grpc::Service::MarkMethodAsync(0);    }    ~WithAsyncMethod_MethodA1() override {      BaseClassMustBeDerivedFromService(this);    }    // disable synchronous version of this method    ::grpc::Status MethodA1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }    void RequestMethodA1(::grpc::ServerContext* context, ::grpc::testing::Request* request, ::grpc::ServerAsyncResponseWriter< ::grpc::testing::Response>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {      ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);    }  };  template <class BaseClass>  class WithAsyncMethod_MethodA2 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithAsyncMethod_MethodA2() {      ::grpc::Service::MarkMethodAsync(1);    }    ~WithAsyncMethod_MethodA2() override {      BaseClassMustBeDerivedFromService(this);    }    // disable synchronous version of this method    ::grpc::Status MethodA2(::grpc::ServerContext* context, ::grpc::ServerReader< ::grpc::testing::Request>* reader, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }    void RequestMethodA2(::grpc::ServerContext* context, ::grpc::ServerAsyncReader< ::grpc::testing::Response, ::grpc::testing::Request>* reader, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {      ::grpc::Service::RequestAsyncClientStreaming(1, context, reader, new_call_cq, notification_cq, tag);    }  };  typedef WithAsyncMethod_MethodA1<WithAsyncMethod_MethodA2<Service > > AsyncService;  template <class BaseClass>  class WithGenericMethod_MethodA1 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithGenericMethod_MethodA1() {      ::grpc::Service::MarkMethodGeneric(0);    }    ~WithGenericMethod_MethodA1() override {      BaseClassMustBeDerivedFromService(this);    }    // disable synchronous version of this method    ::grpc::Status MethodA1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }  };  template <class BaseClass>  class WithGenericMethod_MethodA2 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithGenericMethod_MethodA2() {      ::grpc::Service::MarkMethodGeneric(1);    }    ~WithGenericMethod_MethodA2() override {      BaseClassMustBeDerivedFromService(this);    }    // disable synchronous version of this method    ::grpc::Status MethodA2(::grpc::ServerContext* context, ::grpc::ServerReader< ::grpc::testing::Request>* reader, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }  };  template <class BaseClass>  class WithStreamedUnaryMethod_MethodA1 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithStreamedUnaryMethod_MethodA1() {      ::grpc::Service::MarkMethodStreamed(0,        new ::grpc::StreamedUnaryHandler< ::grpc::testing::Request, ::grpc::testing::Response>(std::bind(&WithStreamedUnaryMethod_MethodA1<BaseClass>::StreamedMethodA1, this, std::placeholders::_1, std::placeholders::_2)));    }    ~WithStreamedUnaryMethod_MethodA1() override {      BaseClassMustBeDerivedFromService(this);    }    // disable regular version of this method    ::grpc::Status MethodA1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }    // replace default version of method with streamed unary    virtual ::grpc::Status StreamedMethodA1(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::grpc::testing::Request,::grpc::testing::Response>* server_unary_streamer) = 0;  };  typedef WithStreamedUnaryMethod_MethodA1<Service > StreamedUnaryService;  typedef Service SplitStreamedService;  typedef WithStreamedUnaryMethod_MethodA1<Service > StreamedService;};// ServiceB leading comment 1class ServiceB final { public:  class StubInterface {   public:    virtual ~StubInterface() {}    // MethodB1 leading comment 1    virtual ::grpc::Status MethodB1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::testing::Response* response) = 0;    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::testing::Response>> AsyncMethodB1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) {      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::testing::Response>>(AsyncMethodB1Raw(context, request, cq));    }    // MethodB1 trailing comment 1  private:    virtual ::grpc::ClientAsyncResponseReaderInterface< ::grpc::testing::Response>* AsyncMethodB1Raw(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) = 0;  };  class Stub final : public StubInterface {   public:    Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel);    ::grpc::Status MethodB1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::testing::Response* response) override;    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::grpc::testing::Response>> AsyncMethodB1(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) {      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::grpc::testing::Response>>(AsyncMethodB1Raw(context, request, cq));    }   private:    std::shared_ptr< ::grpc::ChannelInterface> channel_;    ::grpc::ClientAsyncResponseReader< ::grpc::testing::Response>* AsyncMethodB1Raw(::grpc::ClientContext* context, const ::grpc::testing::Request& request, ::grpc::CompletionQueue* cq) override;    const ::grpc::RpcMethod rpcmethod_MethodB1_;  };  static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());  class Service : public ::grpc::Service {   public:    Service();    virtual ~Service();    // MethodB1 leading comment 1    virtual ::grpc::Status MethodB1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response);    // MethodB1 trailing comment 1  };  template <class BaseClass>  class WithAsyncMethod_MethodB1 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithAsyncMethod_MethodB1() {      ::grpc::Service::MarkMethodAsync(0);    }    ~WithAsyncMethod_MethodB1() override {      BaseClassMustBeDerivedFromService(this);    }    // disable synchronous version of this method    ::grpc::Status MethodB1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }    void RequestMethodB1(::grpc::ServerContext* context, ::grpc::testing::Request* request, ::grpc::ServerAsyncResponseWriter< ::grpc::testing::Response>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {      ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);    }  };  typedef WithAsyncMethod_MethodB1<Service > AsyncService;  template <class BaseClass>  class WithGenericMethod_MethodB1 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithGenericMethod_MethodB1() {      ::grpc::Service::MarkMethodGeneric(0);    }    ~WithGenericMethod_MethodB1() override {      BaseClassMustBeDerivedFromService(this);    }    // disable synchronous version of this method    ::grpc::Status MethodB1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }  };  template <class BaseClass>  class WithStreamedUnaryMethod_MethodB1 : public BaseClass {   private:    void BaseClassMustBeDerivedFromService(const Service *service) {}   public:    WithStreamedUnaryMethod_MethodB1() {      ::grpc::Service::MarkMethodStreamed(0,        new ::grpc::StreamedUnaryHandler< ::grpc::testing::Request, ::grpc::testing::Response>(std::bind(&WithStreamedUnaryMethod_MethodB1<BaseClass>::StreamedMethodB1, this, std::placeholders::_1, std::placeholders::_2)));    }    ~WithStreamedUnaryMethod_MethodB1() override {      BaseClassMustBeDerivedFromService(this);    }    // disable regular version of this method    ::grpc::Status MethodB1(::grpc::ServerContext* context, const ::grpc::testing::Request* request, ::grpc::testing::Response* response) final override {      abort();      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");    }    // replace default version of method with streamed unary    virtual ::grpc::Status StreamedMethodB1(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::grpc::testing::Request,::grpc::testing::Response>* server_unary_streamer) = 0;  };  typedef WithStreamedUnaryMethod_MethodB1<Service > StreamedUnaryService;  typedef Service SplitStreamedService;  typedef WithStreamedUnaryMethod_MethodB1<Service > StreamedService;};// ServiceB trailing comment 1}  // namespace testing}  // namespace grpc#endif  // GRPC_src_2fproto_2fgrpc_2ftesting_2fcompiler_5ftest_2eproto__INCLUDED
 |