ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
rpc_object_server_registry_intf.h
Go to the documentation of this file.
1
7#pragma once
11#include <rpc/rpc.h>
12
14#define CID_ADTF_RPC_OBJECT_REGISTRY "rpc_object_registry.service.adtf.cid"
15
16namespace adtf
17{
18namespace remote
19{
20namespace ant
21{
22
28{
29 protected:
31 ~IRPCObjectServer() = default;
32 public:
34 ADTF_IID(IRPCObjectServer, "rpc_object_server.ant.services.adtf.iid");
35 public:
42 virtual tResult Receive(const base::ant::IRawMemory& oRequest,
43 base::ant::IRawMemory&& oResponse) = 0;
44 virtual tResult GetRPCIID(base::ant::IString&& strIID) const = 0;
45 virtual tResult GetRPCName(base::ant::IString&& strRPCName) const = 0;
46 virtual tResult SetRPCName(const char* strRPCName) = 0;
47};
48
49}
50
51namespace catwo
52{
53
58{
59 public:
61 ADTF_IID(IRPCInterfaceDefinition, "rpc_interface_definition.catwo.services.adtf.iid");
62
63 public:
69 virtual tResult GetInterfaceDefinition(base::ant::IString&& strInterfaceDefinition) const = 0;
70};
71
72}
73
76
77}
78
79namespace services
80{
81namespace ant
82{
92 {
93 protected:
96 public:
98 ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.ant.services.adtf.iid");
99
100 public:
109 virtual tResult GetProtocol(base::ant::IString&& strProtocol) const = 0;
110
120
136 virtual tResult RegisterRPCObjectServer(const char* strObjectName,
147 virtual tResult UnregisterRPCObjectServer(const char* strObjectName) = 0;
148
150 virtual tResult StartListening() = 0;
152 virtual tResult StopListening() = 0;
153 };
154}
155
156namespace bat
157{
158
160{
161 public:
163 ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.bat.services.adtf.iid");
164
165 public:
167 virtual tResult StartListening(const char* strURL) = 0;
168};
169
170}
171
172namespace catwo
173{
174
176{
177 public:
179 ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.catwo.services.adtf.iid");
180
181 public:
182 virtual tResult RegisterRPCObject(const char* strObjectName,
184
185 virtual tResult GetRPCObjectInterfaces(const char* strObjectName,
187};
188
189}
190
191namespace lucky
192{
194 {
195 public:
197 ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.iron.services.adtf.iid");
198
199 public:
201 {
202 public:
203 virtual tResult StartListening(const char* strURL) = 0;
204 virtual tResult StopListening() = 0;
205
206 virtual tResult RegisterRPCObject(const char* strName, rpc::IRPCObject* pObject) = 0;
207 virtual tResult UnregisterRPCObject(const char* strName) = 0;
208 };
209
210
211 virtual tResult AddRPCServer(IRPCServer* pRPCServer) = 0;
212 };
213
214}
215
216using lucky::IRPCObjectServerRegistry;
217
218} //service
219}
220
Copyright © Audi Electronics Venture GmbH.
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
The IRawMemory interface provides methods for getting and setting memory values through abstract inte...
The IString interface provides methods for getting and setting strings through abstract interfaces.
Definition string_intf.h:28
The RPC Object Server Interface defines the basics to receive RPC calls.
ADTF_IID(IRPCObjectServer, "rpc_object_server.ant.services.adtf.iid")
ADTF IID Defintion.
virtual tResult Receive(const base::ant::IRawMemory &oRequest, base::ant::IRawMemory &&oResponse)=0
Implement to receive RPC requests.
~IRPCObjectServer()=default
hidden ctor
Interface to retrieve the interface definition of a server object.
ADTF_IID(IRPCInterfaceDefinition, "rpc_interface_definition.catwo.services.adtf.iid")
ADTF IID Defintion.
virtual tResult GetInterfaceDefinition(base::ant::IString &&strInterfaceDefinition) const =0
Returns the interface definition the server object.
The Object Server Registry is a single instance to create a single adress entry for RPC Server Object...
virtual tResult StartListening()=0
Starts listening to the given url.
virtual tResult StopListening()=0
Stops listening. No messages will be forwarded.
virtual tResult GetRPCObjectServers(ucom::ant::iobject_enum< remote::ant::IRPCObjectServer > &lstObjects) const =0
Retrieves a list of RPC objects registered.
virtual tResult GetProtocol(base::ant::IString &&strProtocol) const =0
Retrieve the identifier of the protocol used.
virtual tResult RegisterRPCObjectServer(const char *strObjectName, const ucom::ant::iobject_ptr< remote::ant::IRPCObjectServer > &pObject)=0
Registers a IRPCObjectServer implementation with the given name strObjectName to the registry.
virtual tResult UnregisterRPCObjectServer(const char *strObjectName)=0
Unregisters the given name from the object registry.
ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.ant.services.adtf.iid")
interface identifier
ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.bat.services.adtf.iid")
interface identifier
virtual tResult StartListening()=0
Starts listening to the given url.
ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.catwo.services.adtf.iid")
interface identifier
ADTF_IID(IRPCObjectServerRegistry, "rpc_object_server_registry.iron.services.adtf.iid")
interface identifier
Base class for every interface type within the uCOM.
Definition object_intf.h:33
Interface definition for a container of objects.
Definition object_list.h:22
Base object pointer to realize binary compatible reference counting in interface methods.
Interface of an object that support remote calls.
Definition rpc_server.h:47
Namespace for all functionality of the ADTF Remote SDK provided since v3.2.
Namespace for all service interfaces provided since v3.1.
Namespace for all service interfaces provided since v3.2.
Namespace for all service interfaces provided since v3.11.
Namespace for a summary of all service interfaces (System Service) provided by ADTF.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
RPC Package Header.
Copyright © Audi Electronics Venture GmbH.