message.grpc.pb.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. // Generated by the gRPC C++ plugin.
  2. // If you make any local change, they will be lost.
  3. // source: message.proto
  4. #ifndef GRPC_message_2eproto__INCLUDED
  5. #define GRPC_message_2eproto__INCLUDED
  6. #include "message.pb.h"
  7. #include <functional>
  8. #include <grpcpp/generic/async_generic_service.h>
  9. #include <grpcpp/support/async_stream.h>
  10. #include <grpcpp/support/async_unary_call.h>
  11. #include <grpcpp/support/client_callback.h>
  12. #include <grpcpp/client_context.h>
  13. #include <grpcpp/completion_queue.h>
  14. #include <grpcpp/support/message_allocator.h>
  15. #include <grpcpp/support/method_handler.h>
  16. #include <grpcpp/impl/proto_utils.h>
  17. #include <grpcpp/impl/rpc_method.h>
  18. #include <grpcpp/support/server_callback.h>
  19. #include <grpcpp/impl/server_callback_handlers.h>
  20. #include <grpcpp/server_context.h>
  21. #include <grpcpp/impl/service_type.h>
  22. #include <grpcpp/support/status.h>
  23. #include <grpcpp/support/stub_options.h>
  24. #include <grpcpp/support/sync_stream.h>
  25. namespace NavMessage {
  26. class NavExcutor final {
  27. public:
  28. static constexpr char const* service_full_name() {
  29. return "NavMessage.NavExcutor";
  30. }
  31. class StubInterface {
  32. public:
  33. virtual ~StubInterface() {}
  34. virtual ::grpc::Status Start(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::NavMessage::NavResponse* response) = 0;
  35. std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>> AsyncStart(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  36. return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>>(AsyncStartRaw(context, request, cq));
  37. }
  38. std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>> PrepareAsyncStart(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  39. return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>>(PrepareAsyncStartRaw(context, request, cq));
  40. }
  41. virtual ::grpc::Status Cancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::NavMessage::NavResponse* response) = 0;
  42. std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>> AsyncCancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  43. return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>>(AsyncCancelRaw(context, request, cq));
  44. }
  45. std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>> PrepareAsyncCancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  46. return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>>(PrepareAsyncCancelRaw(context, request, cq));
  47. }
  48. class async_interface {
  49. public:
  50. virtual ~async_interface() {}
  51. virtual void Start(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, std::function<void(::grpc::Status)>) = 0;
  52. virtual void Start(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
  53. virtual void Cancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, std::function<void(::grpc::Status)>) = 0;
  54. virtual void Cancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
  55. };
  56. typedef class async_interface experimental_async_interface;
  57. virtual class async_interface* async() { return nullptr; }
  58. class async_interface* experimental_async() { return async(); }
  59. private:
  60. virtual ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>* AsyncStartRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) = 0;
  61. virtual ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>* PrepareAsyncStartRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) = 0;
  62. virtual ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>* AsyncCancelRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) = 0;
  63. virtual ::grpc::ClientAsyncResponseReaderInterface< ::NavMessage::NavResponse>* PrepareAsyncCancelRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) = 0;
  64. };
  65. class Stub final : public StubInterface {
  66. public:
  67. Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
  68. ::grpc::Status Start(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::NavMessage::NavResponse* response) override;
  69. std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>> AsyncStart(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  70. return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>>(AsyncStartRaw(context, request, cq));
  71. }
  72. std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>> PrepareAsyncStart(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  73. return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>>(PrepareAsyncStartRaw(context, request, cq));
  74. }
  75. ::grpc::Status Cancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::NavMessage::NavResponse* response) override;
  76. std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>> AsyncCancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  77. return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>>(AsyncCancelRaw(context, request, cq));
  78. }
  79. std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>> PrepareAsyncCancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) {
  80. return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>>(PrepareAsyncCancelRaw(context, request, cq));
  81. }
  82. class async final :
  83. public StubInterface::async_interface {
  84. public:
  85. void Start(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, std::function<void(::grpc::Status)>) override;
  86. void Start(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
  87. void Cancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, std::function<void(::grpc::Status)>) override;
  88. void Cancel(::grpc::ClientContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
  89. private:
  90. friend class Stub;
  91. explicit async(Stub* stub): stub_(stub) { }
  92. Stub* stub() { return stub_; }
  93. Stub* stub_;
  94. };
  95. class async* async() override { return &async_stub_; }
  96. private:
  97. std::shared_ptr< ::grpc::ChannelInterface> channel_;
  98. class async async_stub_{this};
  99. ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>* AsyncStartRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) override;
  100. ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>* PrepareAsyncStartRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) override;
  101. ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>* AsyncCancelRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) override;
  102. ::grpc::ClientAsyncResponseReader< ::NavMessage::NavResponse>* PrepareAsyncCancelRaw(::grpc::ClientContext* context, const ::NavMessage::NavCmd& request, ::grpc::CompletionQueue* cq) override;
  103. const ::grpc::internal::RpcMethod rpcmethod_Start_;
  104. const ::grpc::internal::RpcMethod rpcmethod_Cancel_;
  105. };
  106. static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
  107. class Service : public ::grpc::Service {
  108. public:
  109. Service();
  110. virtual ~Service();
  111. virtual ::grpc::Status Start(::grpc::ServerContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response);
  112. virtual ::grpc::Status Cancel(::grpc::ServerContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response);
  113. };
  114. template <class BaseClass>
  115. class WithAsyncMethod_Start : public BaseClass {
  116. private:
  117. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  118. public:
  119. WithAsyncMethod_Start() {
  120. ::grpc::Service::MarkMethodAsync(0);
  121. }
  122. ~WithAsyncMethod_Start() override {
  123. BaseClassMustBeDerivedFromService(this);
  124. }
  125. // disable synchronous version of this method
  126. ::grpc::Status Start(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  127. abort();
  128. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  129. }
  130. void RequestStart(::grpc::ServerContext* context, ::NavMessage::NavCmd* request, ::grpc::ServerAsyncResponseWriter< ::NavMessage::NavResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
  131. ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
  132. }
  133. };
  134. template <class BaseClass>
  135. class WithAsyncMethod_Cancel : public BaseClass {
  136. private:
  137. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  138. public:
  139. WithAsyncMethod_Cancel() {
  140. ::grpc::Service::MarkMethodAsync(1);
  141. }
  142. ~WithAsyncMethod_Cancel() override {
  143. BaseClassMustBeDerivedFromService(this);
  144. }
  145. // disable synchronous version of this method
  146. ::grpc::Status Cancel(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  147. abort();
  148. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  149. }
  150. void RequestCancel(::grpc::ServerContext* context, ::NavMessage::NavCmd* request, ::grpc::ServerAsyncResponseWriter< ::NavMessage::NavResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
  151. ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
  152. }
  153. };
  154. typedef WithAsyncMethod_Start<WithAsyncMethod_Cancel<Service > > AsyncService;
  155. template <class BaseClass>
  156. class WithCallbackMethod_Start : public BaseClass {
  157. private:
  158. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  159. public:
  160. WithCallbackMethod_Start() {
  161. ::grpc::Service::MarkMethodCallback(0,
  162. new ::grpc::internal::CallbackUnaryHandler< ::NavMessage::NavCmd, ::NavMessage::NavResponse>(
  163. [this](
  164. ::grpc::CallbackServerContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response) { return this->Start(context, request, response); }));}
  165. void SetMessageAllocatorFor_Start(
  166. ::grpc::MessageAllocator< ::NavMessage::NavCmd, ::NavMessage::NavResponse>* allocator) {
  167. ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0);
  168. static_cast<::grpc::internal::CallbackUnaryHandler< ::NavMessage::NavCmd, ::NavMessage::NavResponse>*>(handler)
  169. ->SetMessageAllocator(allocator);
  170. }
  171. ~WithCallbackMethod_Start() override {
  172. BaseClassMustBeDerivedFromService(this);
  173. }
  174. // disable synchronous version of this method
  175. ::grpc::Status Start(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  176. abort();
  177. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  178. }
  179. virtual ::grpc::ServerUnaryReactor* Start(
  180. ::grpc::CallbackServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) { return nullptr; }
  181. };
  182. template <class BaseClass>
  183. class WithCallbackMethod_Cancel : public BaseClass {
  184. private:
  185. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  186. public:
  187. WithCallbackMethod_Cancel() {
  188. ::grpc::Service::MarkMethodCallback(1,
  189. new ::grpc::internal::CallbackUnaryHandler< ::NavMessage::NavCmd, ::NavMessage::NavResponse>(
  190. [this](
  191. ::grpc::CallbackServerContext* context, const ::NavMessage::NavCmd* request, ::NavMessage::NavResponse* response) { return this->Cancel(context, request, response); }));}
  192. void SetMessageAllocatorFor_Cancel(
  193. ::grpc::MessageAllocator< ::NavMessage::NavCmd, ::NavMessage::NavResponse>* allocator) {
  194. ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1);
  195. static_cast<::grpc::internal::CallbackUnaryHandler< ::NavMessage::NavCmd, ::NavMessage::NavResponse>*>(handler)
  196. ->SetMessageAllocator(allocator);
  197. }
  198. ~WithCallbackMethod_Cancel() override {
  199. BaseClassMustBeDerivedFromService(this);
  200. }
  201. // disable synchronous version of this method
  202. ::grpc::Status Cancel(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  203. abort();
  204. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  205. }
  206. virtual ::grpc::ServerUnaryReactor* Cancel(
  207. ::grpc::CallbackServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) { return nullptr; }
  208. };
  209. typedef WithCallbackMethod_Start<WithCallbackMethod_Cancel<Service > > CallbackService;
  210. typedef CallbackService ExperimentalCallbackService;
  211. template <class BaseClass>
  212. class WithGenericMethod_Start : public BaseClass {
  213. private:
  214. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  215. public:
  216. WithGenericMethod_Start() {
  217. ::grpc::Service::MarkMethodGeneric(0);
  218. }
  219. ~WithGenericMethod_Start() override {
  220. BaseClassMustBeDerivedFromService(this);
  221. }
  222. // disable synchronous version of this method
  223. ::grpc::Status Start(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  224. abort();
  225. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  226. }
  227. };
  228. template <class BaseClass>
  229. class WithGenericMethod_Cancel : public BaseClass {
  230. private:
  231. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  232. public:
  233. WithGenericMethod_Cancel() {
  234. ::grpc::Service::MarkMethodGeneric(1);
  235. }
  236. ~WithGenericMethod_Cancel() override {
  237. BaseClassMustBeDerivedFromService(this);
  238. }
  239. // disable synchronous version of this method
  240. ::grpc::Status Cancel(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  241. abort();
  242. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  243. }
  244. };
  245. template <class BaseClass>
  246. class WithRawMethod_Start : public BaseClass {
  247. private:
  248. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  249. public:
  250. WithRawMethod_Start() {
  251. ::grpc::Service::MarkMethodRaw(0);
  252. }
  253. ~WithRawMethod_Start() override {
  254. BaseClassMustBeDerivedFromService(this);
  255. }
  256. // disable synchronous version of this method
  257. ::grpc::Status Start(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  258. abort();
  259. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  260. }
  261. void RequestStart(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
  262. ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
  263. }
  264. };
  265. template <class BaseClass>
  266. class WithRawMethod_Cancel : public BaseClass {
  267. private:
  268. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  269. public:
  270. WithRawMethod_Cancel() {
  271. ::grpc::Service::MarkMethodRaw(1);
  272. }
  273. ~WithRawMethod_Cancel() override {
  274. BaseClassMustBeDerivedFromService(this);
  275. }
  276. // disable synchronous version of this method
  277. ::grpc::Status Cancel(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  278. abort();
  279. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  280. }
  281. void RequestCancel(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
  282. ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
  283. }
  284. };
  285. template <class BaseClass>
  286. class WithRawCallbackMethod_Start : public BaseClass {
  287. private:
  288. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  289. public:
  290. WithRawCallbackMethod_Start() {
  291. ::grpc::Service::MarkMethodRawCallback(0,
  292. new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
  293. [this](
  294. ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Start(context, request, response); }));
  295. }
  296. ~WithRawCallbackMethod_Start() override {
  297. BaseClassMustBeDerivedFromService(this);
  298. }
  299. // disable synchronous version of this method
  300. ::grpc::Status Start(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  301. abort();
  302. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  303. }
  304. virtual ::grpc::ServerUnaryReactor* Start(
  305. ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
  306. };
  307. template <class BaseClass>
  308. class WithRawCallbackMethod_Cancel : public BaseClass {
  309. private:
  310. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  311. public:
  312. WithRawCallbackMethod_Cancel() {
  313. ::grpc::Service::MarkMethodRawCallback(1,
  314. new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
  315. [this](
  316. ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Cancel(context, request, response); }));
  317. }
  318. ~WithRawCallbackMethod_Cancel() override {
  319. BaseClassMustBeDerivedFromService(this);
  320. }
  321. // disable synchronous version of this method
  322. ::grpc::Status Cancel(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  323. abort();
  324. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  325. }
  326. virtual ::grpc::ServerUnaryReactor* Cancel(
  327. ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
  328. };
  329. template <class BaseClass>
  330. class WithStreamedUnaryMethod_Start : public BaseClass {
  331. private:
  332. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  333. public:
  334. WithStreamedUnaryMethod_Start() {
  335. ::grpc::Service::MarkMethodStreamed(0,
  336. new ::grpc::internal::StreamedUnaryHandler<
  337. ::NavMessage::NavCmd, ::NavMessage::NavResponse>(
  338. [this](::grpc::ServerContext* context,
  339. ::grpc::ServerUnaryStreamer<
  340. ::NavMessage::NavCmd, ::NavMessage::NavResponse>* streamer) {
  341. return this->StreamedStart(context,
  342. streamer);
  343. }));
  344. }
  345. ~WithStreamedUnaryMethod_Start() override {
  346. BaseClassMustBeDerivedFromService(this);
  347. }
  348. // disable regular version of this method
  349. ::grpc::Status Start(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  350. abort();
  351. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  352. }
  353. // replace default version of method with streamed unary
  354. virtual ::grpc::Status StreamedStart(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::NavMessage::NavCmd,::NavMessage::NavResponse>* server_unary_streamer) = 0;
  355. };
  356. template <class BaseClass>
  357. class WithStreamedUnaryMethod_Cancel : public BaseClass {
  358. private:
  359. void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
  360. public:
  361. WithStreamedUnaryMethod_Cancel() {
  362. ::grpc::Service::MarkMethodStreamed(1,
  363. new ::grpc::internal::StreamedUnaryHandler<
  364. ::NavMessage::NavCmd, ::NavMessage::NavResponse>(
  365. [this](::grpc::ServerContext* context,
  366. ::grpc::ServerUnaryStreamer<
  367. ::NavMessage::NavCmd, ::NavMessage::NavResponse>* streamer) {
  368. return this->StreamedCancel(context,
  369. streamer);
  370. }));
  371. }
  372. ~WithStreamedUnaryMethod_Cancel() override {
  373. BaseClassMustBeDerivedFromService(this);
  374. }
  375. // disable regular version of this method
  376. ::grpc::Status Cancel(::grpc::ServerContext* /*context*/, const ::NavMessage::NavCmd* /*request*/, ::NavMessage::NavResponse* /*response*/) override {
  377. abort();
  378. return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
  379. }
  380. // replace default version of method with streamed unary
  381. virtual ::grpc::Status StreamedCancel(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::NavMessage::NavCmd,::NavMessage::NavResponse>* server_unary_streamer) = 0;
  382. };
  383. typedef WithStreamedUnaryMethod_Start<WithStreamedUnaryMethod_Cancel<Service > > StreamedUnaryService;
  384. typedef Service SplitStreamedService;
  385. typedef WithStreamedUnaryMethod_Start<WithStreamedUnaryMethod_Cancel<Service > > StreamedService;
  386. };
  387. } // namespace NavMessage
  388. #endif // GRPC_message_2eproto__INCLUDED