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

#include "keyapis/device/v1/keyapis_device_device_v1.pb.h"
#include "keyapis/device/v1/keyapis_device_device_v1.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/message_allocator.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 keyapis {
namespace device {
namespace v1 {

static const char* DeviceService_method_names[] = {
  "/keyapis.device.v1.DeviceService/GetDevice",
  "/keyapis.device.v1.DeviceService/GetDeviceList",
  "/keyapis.device.v1.DeviceService/GetDeviceCount",
  "/keyapis.device.v1.DeviceService/PostDevice",
  "/keyapis.device.v1.DeviceService/PutDevice",
  "/keyapis.device.v1.DeviceService/PostDeviceInstallPreset",
  "/keyapis.device.v1.DeviceService/PostDeviceReplace",
  "/keyapis.device.v1.DeviceService/PostDeviceReconfigure",
  "/keyapis.device.v1.DeviceService/GetDeviceConfigurationStatuses",
  "/keyapis.device.v1.DeviceService/PostDeviceConfigurationStatus",
  "/keyapis.device.v1.DeviceService/GetDeviceConfigurationStatusGroupedList",
  "/keyapis.device.v1.DeviceService/GetDeviceConfigurationStatusGroupedCount",
  "/keyapis.device.v1.DeviceService/DeleteDevice",
  "/keyapis.device.v1.DeviceService/GetDeviceLite",
};

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

DeviceService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options)
  : channel_(channel), rpcmethod_GetDevice_(DeviceService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_GetDeviceList_(DeviceService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
  , rpcmethod_GetDeviceCount_(DeviceService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_PostDevice_(DeviceService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_PutDevice_(DeviceService_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_PostDeviceInstallPreset_(DeviceService_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_PostDeviceReplace_(DeviceService_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_PostDeviceReconfigure_(DeviceService_method_names[7], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_GetDeviceConfigurationStatuses_(DeviceService_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_PostDeviceConfigurationStatus_(DeviceService_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_GetDeviceConfigurationStatusGroupedList_(DeviceService_method_names[10], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
  , rpcmethod_GetDeviceConfigurationStatusGroupedCount_(DeviceService_method_names[11], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_DeleteDevice_(DeviceService_method_names[12], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  , rpcmethod_GetDeviceLite_(DeviceService_method_names[13], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
  {}

::grpc::Status DeviceService::Stub::GetDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceRequest& request, ::keyapis::device::v1::GetDeviceResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::GetDeviceRequest, ::keyapis::device::v1::GetDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetDevice_, context, request, response);
}

void DeviceService::Stub::async::GetDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceRequest* request, ::keyapis::device::v1::GetDeviceResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::GetDeviceRequest, ::keyapis::device::v1::GetDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDevice_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::GetDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceRequest* request, ::keyapis::device::v1::GetDeviceResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDevice_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceResponse>* DeviceService::Stub::PrepareAsyncGetDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::GetDeviceResponse, ::keyapis::device::v1::GetDeviceRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetDevice_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceResponse>* DeviceService::Stub::AsyncGetDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncGetDeviceRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::ClientReader< ::keyapis::device::v1::GetDeviceListResponse>* DeviceService::Stub::GetDeviceListRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceListRequest& request) {
  return ::grpc::internal::ClientReaderFactory< ::keyapis::device::v1::GetDeviceListResponse>::Create(channel_.get(), rpcmethod_GetDeviceList_, context, request);
}

void DeviceService::Stub::async::GetDeviceList(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceListRequest* request, ::grpc::ClientReadReactor< ::keyapis::device::v1::GetDeviceListResponse>* reactor) {
  ::grpc::internal::ClientCallbackReaderFactory< ::keyapis::device::v1::GetDeviceListResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_GetDeviceList_, context, request, reactor);
}

::grpc::ClientAsyncReader< ::keyapis::device::v1::GetDeviceListResponse>* DeviceService::Stub::AsyncGetDeviceListRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceListRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
  return ::grpc::internal::ClientAsyncReaderFactory< ::keyapis::device::v1::GetDeviceListResponse>::Create(channel_.get(), cq, rpcmethod_GetDeviceList_, context, request, true, tag);
}

::grpc::ClientAsyncReader< ::keyapis::device::v1::GetDeviceListResponse>* DeviceService::Stub::PrepareAsyncGetDeviceListRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceListRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncReaderFactory< ::keyapis::device::v1::GetDeviceListResponse>::Create(channel_.get(), cq, rpcmethod_GetDeviceList_, context, request, false, nullptr);
}

::grpc::Status DeviceService::Stub::GetDeviceCount(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceCountRequest& request, ::keyapis::device::v1::GetDeviceCountResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::GetDeviceCountRequest, ::keyapis::device::v1::GetDeviceCountResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetDeviceCount_, context, request, response);
}

void DeviceService::Stub::async::GetDeviceCount(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceCountRequest* request, ::keyapis::device::v1::GetDeviceCountResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::GetDeviceCountRequest, ::keyapis::device::v1::GetDeviceCountResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceCount_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::GetDeviceCount(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceCountRequest* request, ::keyapis::device::v1::GetDeviceCountResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceCount_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceCountResponse>* DeviceService::Stub::PrepareAsyncGetDeviceCountRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceCountRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::GetDeviceCountResponse, ::keyapis::device::v1::GetDeviceCountRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetDeviceCount_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceCountResponse>* DeviceService::Stub::AsyncGetDeviceCountRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceCountRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncGetDeviceCountRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::PostDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceRequest& request, ::keyapis::device::v1::PostDeviceResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::PostDeviceRequest, ::keyapis::device::v1::PostDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_PostDevice_, context, request, response);
}

void DeviceService::Stub::async::PostDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceRequest* request, ::keyapis::device::v1::PostDeviceResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::PostDeviceRequest, ::keyapis::device::v1::PostDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDevice_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::PostDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceRequest* request, ::keyapis::device::v1::PostDeviceResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDevice_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceResponse>* DeviceService::Stub::PrepareAsyncPostDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::PostDeviceResponse, ::keyapis::device::v1::PostDeviceRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_PostDevice_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceResponse>* DeviceService::Stub::AsyncPostDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncPostDeviceRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::PutDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::PutDeviceRequest& request, ::keyapis::device::v1::PutDeviceResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::PutDeviceRequest, ::keyapis::device::v1::PutDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_PutDevice_, context, request, response);
}

void DeviceService::Stub::async::PutDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::PutDeviceRequest* request, ::keyapis::device::v1::PutDeviceResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::PutDeviceRequest, ::keyapis::device::v1::PutDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PutDevice_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::PutDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::PutDeviceRequest* request, ::keyapis::device::v1::PutDeviceResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PutDevice_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PutDeviceResponse>* DeviceService::Stub::PrepareAsyncPutDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PutDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::PutDeviceResponse, ::keyapis::device::v1::PutDeviceRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_PutDevice_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PutDeviceResponse>* DeviceService::Stub::AsyncPutDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PutDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncPutDeviceRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::PostDeviceInstallPreset(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceInstallPresetRequest& request, ::keyapis::device::v1::PostDeviceInstallPresetResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::PostDeviceInstallPresetRequest, ::keyapis::device::v1::PostDeviceInstallPresetResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_PostDeviceInstallPreset_, context, request, response);
}

void DeviceService::Stub::async::PostDeviceInstallPreset(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceInstallPresetRequest* request, ::keyapis::device::v1::PostDeviceInstallPresetResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::PostDeviceInstallPresetRequest, ::keyapis::device::v1::PostDeviceInstallPresetResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceInstallPreset_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::PostDeviceInstallPreset(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceInstallPresetRequest* request, ::keyapis::device::v1::PostDeviceInstallPresetResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceInstallPreset_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceInstallPresetResponse>* DeviceService::Stub::PrepareAsyncPostDeviceInstallPresetRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceInstallPresetRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::PostDeviceInstallPresetResponse, ::keyapis::device::v1::PostDeviceInstallPresetRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_PostDeviceInstallPreset_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceInstallPresetResponse>* DeviceService::Stub::AsyncPostDeviceInstallPresetRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceInstallPresetRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncPostDeviceInstallPresetRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::PostDeviceReplace(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReplaceRequest& request, ::keyapis::device::v1::PostDeviceReplaceResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::PostDeviceReplaceRequest, ::keyapis::device::v1::PostDeviceReplaceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_PostDeviceReplace_, context, request, response);
}

void DeviceService::Stub::async::PostDeviceReplace(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReplaceRequest* request, ::keyapis::device::v1::PostDeviceReplaceResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::PostDeviceReplaceRequest, ::keyapis::device::v1::PostDeviceReplaceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceReplace_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::PostDeviceReplace(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReplaceRequest* request, ::keyapis::device::v1::PostDeviceReplaceResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceReplace_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceReplaceResponse>* DeviceService::Stub::PrepareAsyncPostDeviceReplaceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReplaceRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::PostDeviceReplaceResponse, ::keyapis::device::v1::PostDeviceReplaceRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_PostDeviceReplace_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceReplaceResponse>* DeviceService::Stub::AsyncPostDeviceReplaceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReplaceRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncPostDeviceReplaceRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::PostDeviceReconfigure(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReconfigureRequest& request, ::keyapis::device::v1::PostDeviceReconfigureResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::PostDeviceReconfigureRequest, ::keyapis::device::v1::PostDeviceReconfigureResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_PostDeviceReconfigure_, context, request, response);
}

void DeviceService::Stub::async::PostDeviceReconfigure(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReconfigureRequest* request, ::keyapis::device::v1::PostDeviceReconfigureResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::PostDeviceReconfigureRequest, ::keyapis::device::v1::PostDeviceReconfigureResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceReconfigure_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::PostDeviceReconfigure(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReconfigureRequest* request, ::keyapis::device::v1::PostDeviceReconfigureResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceReconfigure_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceReconfigureResponse>* DeviceService::Stub::PrepareAsyncPostDeviceReconfigureRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReconfigureRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::PostDeviceReconfigureResponse, ::keyapis::device::v1::PostDeviceReconfigureRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_PostDeviceReconfigure_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceReconfigureResponse>* DeviceService::Stub::AsyncPostDeviceReconfigureRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceReconfigureRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncPostDeviceReconfigureRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::GetDeviceConfigurationStatuses(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest& request, ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest, ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetDeviceConfigurationStatuses_, context, request, response);
}

void DeviceService::Stub::async::GetDeviceConfigurationStatuses(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest* request, ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest, ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceConfigurationStatuses_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::GetDeviceConfigurationStatuses(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest* request, ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceConfigurationStatuses_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse>* DeviceService::Stub::PrepareAsyncGetDeviceConfigurationStatusesRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse, ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetDeviceConfigurationStatuses_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse>* DeviceService::Stub::AsyncGetDeviceConfigurationStatusesRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncGetDeviceConfigurationStatusesRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::PostDeviceConfigurationStatus(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceConfigurationStatusRequest& request, ::keyapis::device::v1::PostDeviceConfigurationStatusResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::PostDeviceConfigurationStatusRequest, ::keyapis::device::v1::PostDeviceConfigurationStatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_PostDeviceConfigurationStatus_, context, request, response);
}

void DeviceService::Stub::async::PostDeviceConfigurationStatus(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceConfigurationStatusRequest* request, ::keyapis::device::v1::PostDeviceConfigurationStatusResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::PostDeviceConfigurationStatusRequest, ::keyapis::device::v1::PostDeviceConfigurationStatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceConfigurationStatus_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::PostDeviceConfigurationStatus(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceConfigurationStatusRequest* request, ::keyapis::device::v1::PostDeviceConfigurationStatusResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_PostDeviceConfigurationStatus_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceConfigurationStatusResponse>* DeviceService::Stub::PrepareAsyncPostDeviceConfigurationStatusRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceConfigurationStatusRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::PostDeviceConfigurationStatusResponse, ::keyapis::device::v1::PostDeviceConfigurationStatusRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_PostDeviceConfigurationStatus_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::PostDeviceConfigurationStatusResponse>* DeviceService::Stub::AsyncPostDeviceConfigurationStatusRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::PostDeviceConfigurationStatusRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncPostDeviceConfigurationStatusRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::ClientReader< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>* DeviceService::Stub::GetDeviceConfigurationStatusGroupedListRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListRequest& request) {
  return ::grpc::internal::ClientReaderFactory< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>::Create(channel_.get(), rpcmethod_GetDeviceConfigurationStatusGroupedList_, context, request);
}

void DeviceService::Stub::async::GetDeviceConfigurationStatusGroupedList(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListRequest* request, ::grpc::ClientReadReactor< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>* reactor) {
  ::grpc::internal::ClientCallbackReaderFactory< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_GetDeviceConfigurationStatusGroupedList_, context, request, reactor);
}

::grpc::ClientAsyncReader< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>* DeviceService::Stub::AsyncGetDeviceConfigurationStatusGroupedListRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
  return ::grpc::internal::ClientAsyncReaderFactory< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>::Create(channel_.get(), cq, rpcmethod_GetDeviceConfigurationStatusGroupedList_, context, request, true, tag);
}

::grpc::ClientAsyncReader< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>* DeviceService::Stub::PrepareAsyncGetDeviceConfigurationStatusGroupedListRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncReaderFactory< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>::Create(channel_.get(), cq, rpcmethod_GetDeviceConfigurationStatusGroupedList_, context, request, false, nullptr);
}

::grpc::Status DeviceService::Stub::GetDeviceConfigurationStatusGroupedCount(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest& request, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetDeviceConfigurationStatusGroupedCount_, context, request, response);
}

void DeviceService::Stub::async::GetDeviceConfigurationStatusGroupedCount(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest* request, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceConfigurationStatusGroupedCount_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::GetDeviceConfigurationStatusGroupedCount(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest* request, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceConfigurationStatusGroupedCount_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse>* DeviceService::Stub::PrepareAsyncGetDeviceConfigurationStatusGroupedCountRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetDeviceConfigurationStatusGroupedCount_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse>* DeviceService::Stub::AsyncGetDeviceConfigurationStatusGroupedCountRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncGetDeviceConfigurationStatusGroupedCountRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::DeleteDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::DeleteDeviceRequest& request, ::keyapis::device::v1::DeleteDeviceResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::DeleteDeviceRequest, ::keyapis::device::v1::DeleteDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_DeleteDevice_, context, request, response);
}

void DeviceService::Stub::async::DeleteDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::DeleteDeviceRequest* request, ::keyapis::device::v1::DeleteDeviceResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::DeleteDeviceRequest, ::keyapis::device::v1::DeleteDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DeleteDevice_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::DeleteDevice(::grpc::ClientContext* context, const ::keyapis::device::v1::DeleteDeviceRequest* request, ::keyapis::device::v1::DeleteDeviceResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DeleteDevice_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::DeleteDeviceResponse>* DeviceService::Stub::PrepareAsyncDeleteDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::DeleteDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::DeleteDeviceResponse, ::keyapis::device::v1::DeleteDeviceRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_DeleteDevice_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::DeleteDeviceResponse>* DeviceService::Stub::AsyncDeleteDeviceRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::DeleteDeviceRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncDeleteDeviceRaw(context, request, cq);
  result->StartCall();
  return result;
}

::grpc::Status DeviceService::Stub::GetDeviceLite(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceLiteRequest& request, ::keyapis::device::v1::GetDeviceLiteResponse* response) {
  return ::grpc::internal::BlockingUnaryCall< ::keyapis::device::v1::GetDeviceLiteRequest, ::keyapis::device::v1::GetDeviceLiteResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetDeviceLite_, context, request, response);
}

void DeviceService::Stub::async::GetDeviceLite(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceLiteRequest* request, ::keyapis::device::v1::GetDeviceLiteResponse* response, std::function<void(::grpc::Status)> f) {
  ::grpc::internal::CallbackUnaryCall< ::keyapis::device::v1::GetDeviceLiteRequest, ::keyapis::device::v1::GetDeviceLiteResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceLite_, context, request, response, std::move(f));
}

void DeviceService::Stub::async::GetDeviceLite(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceLiteRequest* request, ::keyapis::device::v1::GetDeviceLiteResponse* response, ::grpc::ClientUnaryReactor* reactor) {
  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetDeviceLite_, context, request, response, reactor);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceLiteResponse>* DeviceService::Stub::PrepareAsyncGetDeviceLiteRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceLiteRequest& request, ::grpc::CompletionQueue* cq) {
  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::keyapis::device::v1::GetDeviceLiteResponse, ::keyapis::device::v1::GetDeviceLiteRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetDeviceLite_, context, request);
}

::grpc::ClientAsyncResponseReader< ::keyapis::device::v1::GetDeviceLiteResponse>* DeviceService::Stub::AsyncGetDeviceLiteRaw(::grpc::ClientContext* context, const ::keyapis::device::v1::GetDeviceLiteRequest& request, ::grpc::CompletionQueue* cq) {
  auto* result =
    this->PrepareAsyncGetDeviceLiteRaw(context, request, cq);
  result->StartCall();
  return result;
}

DeviceService::Service::Service() {
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[0],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::GetDeviceRequest, ::keyapis::device::v1::GetDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::GetDeviceRequest* req,
             ::keyapis::device::v1::GetDeviceResponse* resp) {
               return service->GetDevice(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[1],
      ::grpc::internal::RpcMethod::SERVER_STREAMING,
      new ::grpc::internal::ServerStreamingHandler< DeviceService::Service, ::keyapis::device::v1::GetDeviceListRequest, ::keyapis::device::v1::GetDeviceListResponse>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::GetDeviceListRequest* req,
             ::grpc::ServerWriter<::keyapis::device::v1::GetDeviceListResponse>* writer) {
               return service->GetDeviceList(ctx, req, writer);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[2],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::GetDeviceCountRequest, ::keyapis::device::v1::GetDeviceCountResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::GetDeviceCountRequest* req,
             ::keyapis::device::v1::GetDeviceCountResponse* resp) {
               return service->GetDeviceCount(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[3],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::PostDeviceRequest, ::keyapis::device::v1::PostDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::PostDeviceRequest* req,
             ::keyapis::device::v1::PostDeviceResponse* resp) {
               return service->PostDevice(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[4],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::PutDeviceRequest, ::keyapis::device::v1::PutDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::PutDeviceRequest* req,
             ::keyapis::device::v1::PutDeviceResponse* resp) {
               return service->PutDevice(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[5],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::PostDeviceInstallPresetRequest, ::keyapis::device::v1::PostDeviceInstallPresetResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::PostDeviceInstallPresetRequest* req,
             ::keyapis::device::v1::PostDeviceInstallPresetResponse* resp) {
               return service->PostDeviceInstallPreset(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[6],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::PostDeviceReplaceRequest, ::keyapis::device::v1::PostDeviceReplaceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::PostDeviceReplaceRequest* req,
             ::keyapis::device::v1::PostDeviceReplaceResponse* resp) {
               return service->PostDeviceReplace(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[7],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::PostDeviceReconfigureRequest, ::keyapis::device::v1::PostDeviceReconfigureResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::PostDeviceReconfigureRequest* req,
             ::keyapis::device::v1::PostDeviceReconfigureResponse* resp) {
               return service->PostDeviceReconfigure(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[8],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest, ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest* req,
             ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse* resp) {
               return service->GetDeviceConfigurationStatuses(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[9],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::PostDeviceConfigurationStatusRequest, ::keyapis::device::v1::PostDeviceConfigurationStatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::PostDeviceConfigurationStatusRequest* req,
             ::keyapis::device::v1::PostDeviceConfigurationStatusResponse* resp) {
               return service->PostDeviceConfigurationStatus(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[10],
      ::grpc::internal::RpcMethod::SERVER_STREAMING,
      new ::grpc::internal::ServerStreamingHandler< DeviceService::Service, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListRequest, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListRequest* req,
             ::grpc::ServerWriter<::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>* writer) {
               return service->GetDeviceConfigurationStatusGroupedList(ctx, req, writer);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[11],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest* req,
             ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse* resp) {
               return service->GetDeviceConfigurationStatusGroupedCount(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[12],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::DeleteDeviceRequest, ::keyapis::device::v1::DeleteDeviceResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::DeleteDeviceRequest* req,
             ::keyapis::device::v1::DeleteDeviceResponse* resp) {
               return service->DeleteDevice(ctx, req, resp);
             }, this)));
  AddMethod(new ::grpc::internal::RpcServiceMethod(
      DeviceService_method_names[13],
      ::grpc::internal::RpcMethod::NORMAL_RPC,
      new ::grpc::internal::RpcMethodHandler< DeviceService::Service, ::keyapis::device::v1::GetDeviceLiteRequest, ::keyapis::device::v1::GetDeviceLiteResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
          [](DeviceService::Service* service,
             ::grpc::ServerContext* ctx,
             const ::keyapis::device::v1::GetDeviceLiteRequest* req,
             ::keyapis::device::v1::GetDeviceLiteResponse* resp) {
               return service->GetDeviceLite(ctx, req, resp);
             }, this)));
}

DeviceService::Service::~Service() {
}

::grpc::Status DeviceService::Service::GetDevice(::grpc::ServerContext* context, const ::keyapis::device::v1::GetDeviceRequest* request, ::keyapis::device::v1::GetDeviceResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::GetDeviceList(::grpc::ServerContext* context, const ::keyapis::device::v1::GetDeviceListRequest* request, ::grpc::ServerWriter< ::keyapis::device::v1::GetDeviceListResponse>* writer) {
  (void) context;
  (void) request;
  (void) writer;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::GetDeviceCount(::grpc::ServerContext* context, const ::keyapis::device::v1::GetDeviceCountRequest* request, ::keyapis::device::v1::GetDeviceCountResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::PostDevice(::grpc::ServerContext* context, const ::keyapis::device::v1::PostDeviceRequest* request, ::keyapis::device::v1::PostDeviceResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::PutDevice(::grpc::ServerContext* context, const ::keyapis::device::v1::PutDeviceRequest* request, ::keyapis::device::v1::PutDeviceResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::PostDeviceInstallPreset(::grpc::ServerContext* context, const ::keyapis::device::v1::PostDeviceInstallPresetRequest* request, ::keyapis::device::v1::PostDeviceInstallPresetResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::PostDeviceReplace(::grpc::ServerContext* context, const ::keyapis::device::v1::PostDeviceReplaceRequest* request, ::keyapis::device::v1::PostDeviceReplaceResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::PostDeviceReconfigure(::grpc::ServerContext* context, const ::keyapis::device::v1::PostDeviceReconfigureRequest* request, ::keyapis::device::v1::PostDeviceReconfigureResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::GetDeviceConfigurationStatuses(::grpc::ServerContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusesRequest* request, ::keyapis::device::v1::GetDeviceConfigurationStatusesResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::PostDeviceConfigurationStatus(::grpc::ServerContext* context, const ::keyapis::device::v1::PostDeviceConfigurationStatusRequest* request, ::keyapis::device::v1::PostDeviceConfigurationStatusResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::GetDeviceConfigurationStatusGroupedList(::grpc::ServerContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListRequest* request, ::grpc::ServerWriter< ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedListResponse>* writer) {
  (void) context;
  (void) request;
  (void) writer;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::GetDeviceConfigurationStatusGroupedCount(::grpc::ServerContext* context, const ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountRequest* request, ::keyapis::device::v1::GetDeviceConfigurationStatusGroupedCountResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::DeleteDevice(::grpc::ServerContext* context, const ::keyapis::device::v1::DeleteDeviceRequest* request, ::keyapis::device::v1::DeleteDeviceResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}

::grpc::Status DeviceService::Service::GetDeviceLite(::grpc::ServerContext* context, const ::keyapis::device::v1::GetDeviceLiteRequest* request, ::keyapis::device::v1::GetDeviceLiteResponse* response) {
  (void) context;
  (void) request;
  (void) response;
  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}


}  // namespace keyapis
}  // namespace device
}  // namespace v1

