// Generated by the gRPC C++ plugin.
// If you make any local change, they will be lost.
// source: google/pubsub/v1/schema.proto

#include "google/pubsub/v1/schema.pb.h"
#include "google/pubsub/v1/schema.grpc.pb.h"

#include <functional>
#include <grpcpp/support/async_stream.h>
#include <grpcpp/support/async_unary_call.h>
#include <grpcpp/impl/channel_interface.h>
#include <grpcpp/impl/client_unary_call.h>
#include <grpcpp/support/client_callback.h>
#include <grpcpp/support/message_allocator.h>
#include <grpcpp/support/method_handler.h>
#include <grpcpp/impl/rpc_service_method.h>
#include <grpcpp/support/server_callback.h>
#include <grpcpp/impl/server_callback_handlers.h>
#include <grpcpp/server_context.h>
#include <grpcpp/impl/service_type.h>
#include <grpcpp/support/sync_stream.h>
#include <grpcpp/ports_def.inc>
namespace google {
namespace pubsub {
namespace v1 {

static const char* SchemaService_method_names[] = {
  "/google.pubsub.v1.SchemaService/CreateSchema",
  "/google.pubsub.v1.SchemaService/GetSchema",
  "/google.pubsub.v1.SchemaService/ListSchemas",
  "/google.pubsub.v1.SchemaService/ListSchemaRevisions",
  "/google.pubsub.v1.SchemaService/CommitSchema",
  "/google.pubsub.v1.SchemaService/RollbackSchema",
  "/google.pubsub.v1.SchemaService/DeleteSchemaRevision",
  "/google.pubsub.v1.SchemaService/DeleteSchema",
  "/google.pubsub.v1.SchemaService/ValidateSchema",
  "/google.pubsub.v1.SchemaService/ValidateMessage",
};

std::unique_ptr< SchemaService::Stub> SchemaService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
  (void)options;
  std::unique_ptr< SchemaService::Stub> stub(new SchemaService::Stub(channel, options));
  return stub;
}

SchemaService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options)
  : channel_(channel), rpcmethod_CreateSchema_(SchemaService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_GetSchema_(SchemaService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_ListSchemas_(SchemaService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_ListSchemaRevisions_(SchemaService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_CommitSchema_(SchemaService_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_RollbackSchema_(SchemaService_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_DeleteSchemaRevision_(SchemaService_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_DeleteSchema_(SchemaService_method_names[7], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_ValidateSchema_(SchemaService_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_ValidateMessage_(SchemaService_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  {}

::grpc::Status SchemaService::Stub::CreateSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::CreateSchemaRequest& request, ::google::pubsub::v1::Schema* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::CreateSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_CreateSchema_, context, request, response);
}

void SchemaService::Stub::async::CreateSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::CreateSchemaRequest* request, ::google::pubsub::v1::Schema* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::CreateSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CreateSchema_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::CreateSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::CreateSchemaRequest* request, ::google::pubsub::v1::Schema* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CreateSchema_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::PrepareAsyncCreateSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::CreateSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::Schema, ::google::pubsub::v1::CreateSchemaRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_CreateSchema_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::AsyncCreateSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::CreateSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncCreateSchemaRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::GetSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::GetSchemaRequest& request, ::google::pubsub::v1::Schema* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::GetSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetSchema_, context, request, response);
}

void SchemaService::Stub::async::GetSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::GetSchemaRequest* request, ::google::pubsub::v1::Schema* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::GetSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetSchema_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::GetSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::GetSchemaRequest* request, ::google::pubsub::v1::Schema* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetSchema_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::PrepareAsyncGetSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::GetSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::Schema, ::google::pubsub::v1::GetSchemaRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetSchema_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::AsyncGetSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::GetSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncGetSchemaRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::ListSchemas(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemasRequest& request, ::google::pubsub::v1::ListSchemasResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::ListSchemasRequest, ::google::pubsub::v1::ListSchemasResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ListSchemas_, context, request, response);
}

void SchemaService::Stub::async::ListSchemas(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemasRequest* request, ::google::pubsub::v1::ListSchemasResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::ListSchemasRequest, ::google::pubsub::v1::ListSchemasResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ListSchemas_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::ListSchemas(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemasRequest* request, ::google::pubsub::v1::ListSchemasResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ListSchemas_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ListSchemasResponse>* SchemaService::Stub::PrepareAsyncListSchemasRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemasRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::ListSchemasResponse, ::google::pubsub::v1::ListSchemasRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ListSchemas_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ListSchemasResponse>* SchemaService::Stub::AsyncListSchemasRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemasRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncListSchemasRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::ListSchemaRevisions(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemaRevisionsRequest& request, ::google::pubsub::v1::ListSchemaRevisionsResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::ListSchemaRevisionsRequest, ::google::pubsub::v1::ListSchemaRevisionsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ListSchemaRevisions_, context, request, response);
}

void SchemaService::Stub::async::ListSchemaRevisions(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemaRevisionsRequest* request, ::google::pubsub::v1::ListSchemaRevisionsResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::ListSchemaRevisionsRequest, ::google::pubsub::v1::ListSchemaRevisionsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ListSchemaRevisions_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::ListSchemaRevisions(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemaRevisionsRequest* request, ::google::pubsub::v1::ListSchemaRevisionsResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ListSchemaRevisions_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ListSchemaRevisionsResponse>* SchemaService::Stub::PrepareAsyncListSchemaRevisionsRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemaRevisionsRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::ListSchemaRevisionsResponse, ::google::pubsub::v1::ListSchemaRevisionsRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ListSchemaRevisions_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ListSchemaRevisionsResponse>* SchemaService::Stub::AsyncListSchemaRevisionsRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ListSchemaRevisionsRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncListSchemaRevisionsRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::CommitSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::CommitSchemaRequest& request, ::google::pubsub::v1::Schema* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::CommitSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_CommitSchema_, context, request, response);
}

void SchemaService::Stub::async::CommitSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::CommitSchemaRequest* request, ::google::pubsub::v1::Schema* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::CommitSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CommitSchema_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::CommitSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::CommitSchemaRequest* request, ::google::pubsub::v1::Schema* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CommitSchema_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::PrepareAsyncCommitSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::CommitSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::Schema, ::google::pubsub::v1::CommitSchemaRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_CommitSchema_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::AsyncCommitSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::CommitSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncCommitSchemaRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::RollbackSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::RollbackSchemaRequest& request, ::google::pubsub::v1::Schema* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::RollbackSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_RollbackSchema_, context, request, response);
}

void SchemaService::Stub::async::RollbackSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::RollbackSchemaRequest* request, ::google::pubsub::v1::Schema* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::RollbackSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RollbackSchema_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::RollbackSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::RollbackSchemaRequest* request, ::google::pubsub::v1::Schema* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RollbackSchema_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::PrepareAsyncRollbackSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::RollbackSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::Schema, ::google::pubsub::v1::RollbackSchemaRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_RollbackSchema_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::AsyncRollbackSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::RollbackSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncRollbackSchemaRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::DeleteSchemaRevision(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRevisionRequest& request, ::google::pubsub::v1::Schema* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::DeleteSchemaRevisionRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_DeleteSchemaRevision_, context, request, response);
}

void SchemaService::Stub::async::DeleteSchemaRevision(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRevisionRequest* request, ::google::pubsub::v1::Schema* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::DeleteSchemaRevisionRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DeleteSchemaRevision_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::DeleteSchemaRevision(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRevisionRequest* request, ::google::pubsub::v1::Schema* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DeleteSchemaRevision_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::PrepareAsyncDeleteSchemaRevisionRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRevisionRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::Schema, ::google::pubsub::v1::DeleteSchemaRevisionRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_DeleteSchemaRevision_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::Schema>* SchemaService::Stub::AsyncDeleteSchemaRevisionRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRevisionRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncDeleteSchemaRevisionRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::DeleteSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRequest& request, ::google::protobuf::Empty* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::DeleteSchemaRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_DeleteSchema_, context, request, response);
}

void SchemaService::Stub::async::DeleteSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRequest* request, ::google::protobuf::Empty* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::DeleteSchemaRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DeleteSchema_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::DeleteSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DeleteSchema_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* SchemaService::Stub::PrepareAsyncDeleteSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::pubsub::v1::DeleteSchemaRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_DeleteSchema_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* SchemaService::Stub::AsyncDeleteSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::DeleteSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncDeleteSchemaRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::ValidateSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateSchemaRequest& request, ::google::pubsub::v1::ValidateSchemaResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::ValidateSchemaRequest, ::google::pubsub::v1::ValidateSchemaResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ValidateSchema_, context, request, response);
}

void SchemaService::Stub::async::ValidateSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateSchemaRequest* request, ::google::pubsub::v1::ValidateSchemaResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::ValidateSchemaRequest, ::google::pubsub::v1::ValidateSchemaResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ValidateSchema_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::ValidateSchema(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateSchemaRequest* request, ::google::pubsub::v1::ValidateSchemaResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ValidateSchema_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ValidateSchemaResponse>* SchemaService::Stub::PrepareAsyncValidateSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::ValidateSchemaResponse, ::google::pubsub::v1::ValidateSchemaRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ValidateSchema_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ValidateSchemaResponse>* SchemaService::Stub::AsyncValidateSchemaRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateSchemaRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncValidateSchemaRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status SchemaService::Stub::ValidateMessage(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateMessageRequest& request, ::google::pubsub::v1::ValidateMessageResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::google::pubsub::v1::ValidateMessageRequest, ::google::pubsub::v1::ValidateMessageResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ValidateMessage_, context, request, response);
}

void SchemaService::Stub::async::ValidateMessage(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateMessageRequest* request, ::google::pubsub::v1::ValidateMessageResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::google::pubsub::v1::ValidateMessageRequest, ::google::pubsub::v1::ValidateMessageResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ValidateMessage_, context, request, response, std::move(f));
}

void SchemaService::Stub::async::ValidateMessage(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateMessageRequest* request, ::google::pubsub::v1::ValidateMessageResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ValidateMessage_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ValidateMessageResponse>* SchemaService::Stub::PrepareAsyncValidateMessageRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateMessageRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::pubsub::v1::ValidateMessageResponse, ::google::pubsub::v1::ValidateMessageRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ValidateMessage_, context, request);
}

::grpc::ClientAsyncResponseReader< ::google::pubsub::v1::ValidateMessageResponse>* SchemaService::Stub::AsyncValidateMessageRaw(::grpc::ClientContext* context, const ::google::pubsub::v1::ValidateMessageRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncValidateMessageRaw(context, request, cq);
  result->StartCall();
  return result;
}

SchemaService::Service::Service() {
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[0],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::CreateSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::CreateSchemaRequest* req,
             ::google::pubsub::v1::Schema* resp) {
               return service->CreateSchema(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[1],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::GetSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::GetSchemaRequest* req,
             ::google::pubsub::v1::Schema* resp) {
               return service->GetSchema(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[2],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::ListSchemasRequest, ::google::pubsub::v1::ListSchemasResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::ListSchemasRequest* req,
             ::google::pubsub::v1::ListSchemasResponse* resp) {
               return service->ListSchemas(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[3],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::ListSchemaRevisionsRequest, ::google::pubsub::v1::ListSchemaRevisionsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::ListSchemaRevisionsRequest* req,
             ::google::pubsub::v1::ListSchemaRevisionsResponse* resp) {
               return service->ListSchemaRevisions(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[4],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::CommitSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::CommitSchemaRequest* req,
             ::google::pubsub::v1::Schema* resp) {
               return service->CommitSchema(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[5],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::RollbackSchemaRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::RollbackSchemaRequest* req,
             ::google::pubsub::v1::Schema* resp) {
               return service->RollbackSchema(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[6],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::DeleteSchemaRevisionRequest, ::google::pubsub::v1::Schema, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::DeleteSchemaRevisionRequest* req,
             ::google::pubsub::v1::Schema* resp) {
               return service->DeleteSchemaRevision(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[7],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::DeleteSchemaRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::DeleteSchemaRequest* req,
             ::google::protobuf::Empty* resp) {
               return service->DeleteSchema(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[8],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::ValidateSchemaRequest, ::google::pubsub::v1::ValidateSchemaResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::ValidateSchemaRequest* req,
             ::google::pubsub::v1::ValidateSchemaResponse* resp) {
               return service->ValidateSchema(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      SchemaService_method_names[9],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< SchemaService::Service, ::google::pubsub::v1::ValidateMessageRequest, ::google::pubsub::v1::ValidateMessageResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](SchemaService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::google::pubsub::v1::ValidateMessageRequest* req,
             ::google::pubsub::v1::ValidateMessageResponse* resp) {
               return service->ValidateMessage(ctx, req, resp);
             }, this)));
}

SchemaService::Service::~Service() {
}

::grpc::Status SchemaService::Service::CreateSchema(::grpc::ServerContext* context, const ::google::pubsub::v1::CreateSchemaRequest* request, ::google::pubsub::v1::Schema* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::GetSchema(::grpc::ServerContext* context, const ::google::pubsub::v1::GetSchemaRequest* request, ::google::pubsub::v1::Schema* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::ListSchemas(::grpc::ServerContext* context, const ::google::pubsub::v1::ListSchemasRequest* request, ::google::pubsub::v1::ListSchemasResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::ListSchemaRevisions(::grpc::ServerContext* context, const ::google::pubsub::v1::ListSchemaRevisionsRequest* request, ::google::pubsub::v1::ListSchemaRevisionsResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::CommitSchema(::grpc::ServerContext* context, const ::google::pubsub::v1::CommitSchemaRequest* request, ::google::pubsub::v1::Schema* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::RollbackSchema(::grpc::ServerContext* context, const ::google::pubsub::v1::RollbackSchemaRequest* request, ::google::pubsub::v1::Schema* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::DeleteSchemaRevision(::grpc::ServerContext* context, const ::google::pubsub::v1::DeleteSchemaRevisionRequest* request, ::google::pubsub::v1::Schema* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::DeleteSchema(::grpc::ServerContext* context, const ::google::pubsub::v1::DeleteSchemaRequest* request, ::google::protobuf::Empty* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::ValidateSchema(::grpc::ServerContext* context, const ::google::pubsub::v1::ValidateSchemaRequest* request, ::google::pubsub::v1::ValidateSchemaResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status SchemaService::Service::ValidateMessage(::grpc::ServerContext* context, const ::google::pubsub::v1::ValidateMessageRequest* request, ::google::pubsub::v1::ValidateMessageResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}


}  // namespace google
}  // namespace pubsub
}  // namespace v1
#include <grpcpp/ports_undef.inc>

