Dev Essential  1.6.3
Loading...
Searching...
No Matches
rpc_server.h
Go to the documentation of this file.
1
14
15#ifndef PKG_RPC_RPC_SERVER_H_INCLUDED
16#define PKG_RPC_RPC_SERVER_H_INCLUDED
17
18#include <a_util/result.h>
19
20namespace rpc {
21
23_MAKE_RESULT(1, AlreadyRegistered);
24_MAKE_RESULT(2, NotFound);
25_MAKE_RESULT(3, StartupFailed);
26_MAKE_RESULT(4, InvalidURL);
27_MAKE_RESULT(5, InvalidCall);
28_MAKE_RESULT(6, FatalError);
30
34class IResponse {
35public:
41 virtual void Set(const char* strResponse, size_t nResponseSize) = 0;
42};
43
48public:
56 virtual a_util::result::Result HandleCall(const char* strRequest,
57 size_t nRequestSize,
58 IResponse& oResponse) = 0;
59};
60
65public:
72 virtual a_util::result::Result RegisterRPCObject(const char* strName, IRPCObject* pObject) = 0;
73
79 virtual a_util::result::Result UnregisterRPCObject(const char* strName) = 0;
80};
81
82} // namespace rpc
83
84#endif // PKG_RPC_RPC_SERVER_H_INCLUDED
Definition result_type_decl.h:34
Definition rpc_server.h:47
virtual a_util::result::Result HandleCall(const char *strRequest, size_t nRequestSize, IResponse &oResponse)=0
Definition rpc_server.h:64
virtual a_util::result::Result UnregisterRPCObject(const char *strName)=0
virtual a_util::result::Result RegisterRPCObject(const char *strName, IRPCObject *pObject)=0
Definition rpc_server.h:34
virtual void Set(const char *strResponse, size_t nResponseSize)=0
definition of the rpc namespace
Definition json_rpc_impl.h:20
#define _MAKE_RESULT(_no, _label)
Definition result_info_decl.h:36