text: // Generated by the gRPC C++ plugin.
  // If you make any local change, they will be lost.
  // source: signer/v1/signer.proto
  
  #include "signer/v1/signer.pb.h"
  #include "signer/v1/signer.grpc.pb.h"
  
  #include <functional>
  #include <grpcpp/impl/codegen/async_stream.h>
  #include <grpcpp/impl/codegen/async_unary_call.h>
  #include <grpcpp/impl/codegen/channel_interface.h>
  #include <grpcpp/impl/codegen/client_unary_call.h>
  #include <grpcpp/impl/codegen/client_callback.h>
  #include <grpcpp/impl/codegen/method_handler.h>
  #include <grpcpp/impl/codegen/rpc_service_method.h>
  #include <grpcpp/impl/codegen/server_callback.h>
  #include <grpcpp/impl/codegen/server_callback_handlers.h>
  #include <grpcpp/impl/codegen/server_context.h>
  #include <grpcpp/impl/codegen/service_type.h>
  #include <grpcpp/impl/codegen/sync_stream.h>
  namespace signer {
  namespace v1 {
  
  static const char* SignerService_method_names[] = {
    "/signer.v1.SignerService/Initialize",
    "/signer.v1.SignerService/Destroy",
    "/signer.v1.SignerService/Unlock",
    "/signer.v1.SignerService/Sign",
    "/signer.v1.SignerService/GetState",
    "/signer.v1.SignerService/Reset",
  };
  
  std::unique_ptr< SignerService::Stub> SignerService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
    (void)options;
    std::unique_ptr< SignerService::Stub> stub(new SignerService::Stub(channel));
    return stub;
  }
  
  SignerService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel)
    : channel_(channel), rpcmethod_Initialize_(SignerService_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
    , rpcmethod_Destroy_(SignerService_method_names[1], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
    , rpcmethod_Unlock_(SignerService_method_names[2], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
    , rpcmethod_Sign_(SignerService_method_names[3], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
    , rpcmethod_GetState_(SignerService_method_names[4], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
    , rpcmethod_Reset_(SignerService_method_names[5], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
    {}
  
  ::grpc::Status SignerService::Stub::Initialize(::grpc::ClientContext* context, const ::signer::v1::InitializeRequest& request, ::signer::v1::InitializeResponse* response) {
    return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Initialize_, context, request, response);
  }
  
  void SignerService::Stub::experimental_async::Initialize(::grpc::ClientContext* context, const ::signer::v1::InitializeRequest* request, ::signer::v1::InitializeResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Initialize_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Initialize(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::InitializeResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Initialize_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Initialize(::grpc::ClientContext* context, const ::signer::v1::InitializeRequest* request, ::signer::v1::InitializeResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Initialize_, context, request, response, reactor);
  }
  
  void SignerService::Stub::experimental_async::Initialize(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::InitializeResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Initialize_, context, request, response, reactor);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::InitializeResponse>* SignerService::Stub::AsyncInitializeRaw(::grpc::ClientContext* context, const ::signer::v1::InitializeRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::InitializeResponse>::Create(channel_.get(), cq, rpcmethod_Initialize_, context, request, true);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::InitializeResponse>* SignerService::Stub::PrepareAsyncInitializeRaw(::grpc::ClientContext* context, const ::signer::v1::InitializeRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::InitializeResponse>::Create(channel_.get(), cq, rpcmethod_Initialize_, context, request, false);
  }
  
  ::grpc::Status SignerService::Stub::Destroy(::grpc::ClientContext* context, const ::signer::v1::DestroyRequest& request, ::signer::v1::DestroyResponse* response) {
    return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Destroy_, context, request, response);
  }
  
  void SignerService::Stub::experimental_async::Destroy(::grpc::ClientContext* context, const ::signer::v1::DestroyRequest* request, ::signer::v1::DestroyResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Destroy_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Destroy(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::DestroyResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Destroy_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Destroy(::grpc::ClientContext* context, const ::signer::v1::DestroyRequest* request, ::signer::v1::DestroyResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Destroy_, context, request, response, reactor);
  }
  
  void SignerService::Stub::experimental_async::Destroy(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::DestroyResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Destroy_, context, request, response, reactor);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::DestroyResponse>* SignerService::Stub::AsyncDestroyRaw(::grpc::ClientContext* context, const ::signer::v1::DestroyRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::DestroyResponse>::Create(channel_.get(), cq, rpcmethod_Destroy_, context, request, true);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::DestroyResponse>* SignerService::Stub::PrepareAsyncDestroyRaw(::grpc::ClientContext* context, const ::signer::v1::DestroyRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::DestroyResponse>::Create(channel_.get(), cq, rpcmethod_Destroy_, context, request, false);
  }
  
  ::grpc::Status SignerService::Stub::Unlock(::grpc::ClientContext* context, const ::signer::v1::UnlockRequest& request, ::signer::v1::UnlockResponse* response) {
    return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Unlock_, context, request, response);
  }
  
  void SignerService::Stub::experimental_async::Unlock(::grpc::ClientContext* context, const ::signer::v1::UnlockRequest* request, ::signer::v1::UnlockResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Unlock_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Unlock(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::UnlockResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Unlock_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Unlock(::grpc::ClientContext* context, const ::signer::v1::UnlockRequest* request, ::signer::v1::UnlockResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Unlock_, context, request, response, reactor);
  }
  
  void SignerService::Stub::experimental_async::Unlock(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::UnlockResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Unlock_, context, request, response, reactor);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::UnlockResponse>* SignerService::Stub::AsyncUnlockRaw(::grpc::ClientContext* context, const ::signer::v1::UnlockRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::UnlockResponse>::Create(channel_.get(), cq, rpcmethod_Unlock_, context, request, true);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::UnlockResponse>* SignerService::Stub::PrepareAsyncUnlockRaw(::grpc::ClientContext* context, const ::signer::v1::UnlockRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::UnlockResponse>::Create(channel_.get(), cq, rpcmethod_Unlock_, context, request, false);
  }
  
  ::grpc::Status SignerService::Stub::Sign(::grpc::ClientContext* context, const ::signer::v1::SignRequest& request, ::signer::v1::SignResponse* response) {
    return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Sign_, context, request, response);
  }
  
  void SignerService::Stub::experimental_async::Sign(::grpc::ClientContext* context, const ::signer::v1::SignRequest* request, ::signer::v1::SignResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Sign_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Sign(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::SignResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Sign_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Sign(::grpc::ClientContext* context, const ::signer::v1::SignRequest* request, ::signer::v1::SignResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Sign_, context, request, response, reactor);
  }
  
  void SignerService::Stub::experimental_async::Sign(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::SignResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Sign_, context, request, response, reactor);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::SignResponse>* SignerService::Stub::AsyncSignRaw(::grpc::ClientContext* context, const ::signer::v1::SignRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::SignResponse>::Create(channel_.get(), cq, rpcmethod_Sign_, context, request, true);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::SignResponse>* SignerService::Stub::PrepareAsyncSignRaw(::grpc::ClientContext* context, const ::signer::v1::SignRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::SignResponse>::Create(channel_.get(), cq, rpcmethod_Sign_, context, request, false);
  }
  
  ::grpc::Status SignerService::Stub::GetState(::grpc::ClientContext* context, const ::signer::v1::GetStateRequest& request, ::signer::v1::GetStateResponse* response) {
    return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_GetState_, context, request, response);
  }
  
  void SignerService::Stub::experimental_async::GetState(::grpc::ClientContext* context, const ::signer::v1::GetStateRequest* request, ::signer::v1::GetStateResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetState_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::GetState(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::GetStateResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_GetState_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::GetState(::grpc::ClientContext* context, const ::signer::v1::GetStateRequest* request, ::signer::v1::GetStateResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetState_, context, request, response, reactor);
  }
  
  void SignerService::Stub::experimental_async::GetState(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::GetStateResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_GetState_, context, request, response, reactor);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::GetStateResponse>* SignerService::Stub::AsyncGetStateRaw(::grpc::ClientContext* context, const ::signer::v1::GetStateRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::GetStateResponse>::Create(channel_.get(), cq, rpcmethod_GetState_, context, request, true);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::GetStateResponse>* SignerService::Stub::PrepareAsyncGetStateRaw(::grpc::ClientContext* context, const ::signer::v1::GetStateRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::GetStateResponse>::Create(channel_.get(), cq, rpcmethod_GetState_, context, request, false);
  }
  
  ::grpc::Status SignerService::Stub::Reset(::grpc::ClientContext* context, const ::signer::v1::ResetRequest& request, ::signer::v1::ResetResponse* response) {
    return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Reset_, context, request, response);
  }
  
  void SignerService::Stub::experimental_async::Reset(::grpc::ClientContext* context, const ::signer::v1::ResetRequest* request, ::signer::v1::ResetResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Reset_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Reset(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::ResetResponse* response, std::function<void(::grpc::Status)> f) {
    ::grpc_impl::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_Reset_, context, request, response, std::move(f));
  }
  
  void SignerService::Stub::experimental_async::Reset(::grpc::ClientContext* context, const ::signer::v1::ResetRequest* request, ::signer::v1::ResetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Reset_, context, request, response, reactor);
  }
  
  void SignerService::Stub::experimental_async::Reset(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::signer::v1::ResetResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) {
    ::grpc_impl::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_Reset_, context, request, response, reactor);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::ResetResponse>* SignerService::Stub::AsyncResetRaw(::grpc::ClientContext* context, const ::signer::v1::ResetRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::ResetResponse>::Create(channel_.get(), cq, rpcmethod_Reset_, context, request, true);
  }
  
  ::grpc::ClientAsyncResponseReader< ::signer::v1::ResetResponse>* SignerService::Stub::PrepareAsyncResetRaw(::grpc::ClientContext* context, const ::signer::v1::ResetRequest& request, ::grpc::CompletionQueue* cq) {
    return ::grpc_impl::internal::ClientAsyncResponseReaderFactory< ::signer::v1::ResetResponse>::Create(channel_.get(), cq, rpcmethod_Reset_, context, request, false);
  }
  
  SignerService::Service::Service() {
    AddMethod(new ::grpc::internal::RpcServiceMethod(
        SignerService_method_names[0],
        ::grpc::internal::RpcMethod::NORMAL_RPC,
        new ::grpc::internal::RpcMethodHandler< SignerService::Service, ::signer::v1::InitializeRequest, ::signer::v1::InitializeResponse>(
            std::mem_fn(&SignerService::Service::Initialize), this)));
    AddMethod(new ::grpc::internal::RpcServiceMethod(
        SignerService_method_names[1],
        ::grpc::internal::RpcMethod::NORMAL_RPC,
        new ::grpc::internal::RpcMethodHandler< SignerService::Service, ::signer::v1::DestroyRequest, ::signer::v1::DestroyResponse>(
            std::mem_fn(&SignerService::Service::Destroy), this)));
    AddMethod(new ::grpc::internal::RpcServiceMethod(
        SignerService_method_names[2],
        ::grpc::internal::RpcMethod::NORMAL_RPC,
        new ::grpc::internal::RpcMethodHandler< SignerService::Service, ::signer::v1::UnlockRequest, ::signer::v1::UnlockResponse>(
            std::mem_fn(&SignerService::Service::Unlock), this)));
    AddMethod(new ::grpc::internal::RpcServiceMethod(
        SignerService_method_names[3],
        ::grpc::internal::RpcMethod::NORMAL_RPC,
        new ::grpc::internal::RpcMethodHandler< SignerService::Service, ::signer::v1::SignRequest, ::signer::v1::SignResponse>(
            std::mem_fn(&SignerService::Service::Sign), this)));
    AddMethod(new ::grpc::internal::RpcServiceMethod(
        SignerService_method_names[4],
        ::grpc::internal::RpcMethod::NORMAL_RPC,
        new ::grpc::internal::RpcMethodHandler< SignerService::Service, ::signer::v1::GetStateRequest, ::signer::v1::GetStateResponse>(
            std::mem_fn(&SignerService::Service::GetState), this)));
    AddMethod(new ::grpc::internal::RpcServiceMethod(
        SignerService_method_names[5],
        ::grpc::internal::RpcMethod::NORMAL_RPC,
        new ::grpc::internal::RpcMethodHandler< SignerService::Service, ::signer::v1::ResetRequest, ::signer::v1::ResetResponse>(
            std::mem_fn(&SignerService::Service::Reset), this)));
  }
  
  SignerService::Service::~Service() {
  }
  
  ::grpc::Status SignerService::Service::Initialize(::grpc::ServerContext* context, const ::signer::v1::InitializeRequest* request, ::signer::v1::InitializeResponse* response) {
    (void) context;
    (void) request;
    (void) response;
    return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  }
  
  ::grpc::Status SignerService::Service::Destroy(::grpc::ServerContext* context, const ::signer::v1::DestroyRequest* request, ::signer::v1::DestroyResponse* response) {
    (void) context;
    (void) request;
    (void) response;
    return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  }
  
  ::grpc::Status SignerService::Service::Unlock(::grpc::ServerContext* context, const ::signer::v1::UnlockRequest* request, ::signer::v1::UnlockResponse* response) {
    (void) context;
    (void) request;
    (void) response;
    return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  }
  
  ::grpc::Status SignerService::Service::Sign(::grpc::ServerContext* context, const ::signer::v1::SignRequest* request, ::signer::v1::SignResponse* response) {
    (void) context;
    (void) request;
    (void) response;
    return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  }
  
  ::grpc::Status SignerService::Service::GetState(::grpc::ServerContext* context, const ::signer::v1::GetStateRequest* request, ::signer::v1::GetStateResponse* response) {
    (void) context;
    (void) request;
    (void) response;
    return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  }
  
  ::grpc::Status SignerService::Service::Reset(::grpc::ServerContext* context, const ::signer::v1::ResetRequest* request, ::signer::v1::ResetResponse* response) {
    (void) context;
    (void) request;
    (void) response;
    return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  }
  
  
  }  // namespace signer
  }  // namespace v1
  
  