Diarkis C++Client Library API Document
rpcModule.h
Go to the documentation of this file.
1 // © 2019-2024 Diarkis Inc. All rights reserved.
2 
3 #pragma once
4 
5 #include <functional>
6 #include "diarkis/common.h"
9 #include "diarkis/modules/room.h"
11 #include "diarkis/system/Event.h"
12 #include "diarkis/system/result.h"
13 
14 using namespace Diarkis::Network;
15 
16 // ADD NAMESPACE NAME TAG
17 namespace Diarkis
18 {
19 namespace Modules
20 {
22 {
23  public:
24  virtual ~IDiarkisRPC(){};
25 
34  virtual void SetLoggerFactory(std::shared_ptr<IDiarkisLoggerFactory> loggerFactory) = 0;
35 
42  virtual std::shared_ptr<IDiarkisEventRpcID> GetCallbackEvent() = 0;
43 
58  virtual bool RPCAll(uint32_t rpcID, const uint8_t* payload, size_t payloadSize, bool reliable = true) = 0;
59 
66  virtual bool RPCAll(uint32_t rpcID, const Diarkis::StdVector<uint8_t>& payload, bool reliable = true) = 0;
67 
86  virtual bool RPCMany(uint32_t rpcID, const char** memberIDs, size_t memberIDsCount, const uint8_t* payload, size_t payloadSize, bool reliable = true) = 0;
87 
94  virtual bool RPCMany(uint32_t rpcID,
96  const Diarkis::StdVector<uint8_t>& payload,
97  bool reliable = true) = 0;
98 
115  virtual bool RPCOne(uint32_t rpcID, const char* userID, const uint8_t* payload, size_t payloadSize, bool reliable = true) = 0;
116 
123  virtual bool RPCOne(uint32_t rpcID, const Diarkis::StdString& userID, const Diarkis::StdVector<uint8_t>& payload, bool reliable = true) = 0;
124 };
125 
126 extern "C"
127 {
134  DIARKIS_EXPORT IDiarkisRPC* DiarkisCreateRPC(std::shared_ptr<IDiarkisRoom> room_);
135 }
136 } // namespace Modules
137 } // namespace Diarkis
138  // ADD NAMESPACE } TAG
Diarkis::Modules::DiarkisCreateRPC
DIARKIS_EXPORT IDiarkisRPC * DiarkisCreateRPC(std::shared_ptr< IDiarkisRoom > room_)
Create IDiarkisRPC class.
LoggerFactory.h
Diarkis::StdString
Definition: common.h:432
Logger.h
Diarkis::StdVector< uint8_t >
Diarkis::Modules::IDiarkisRPC
Definition: rpcModule.h:21
eventArgs.h
Diarkis
Definition: commands.h:9
Diarkis::Network
Definition: eventArgs.h:10
result.h
Event.h
common.h
Diarkis::Modules::IDiarkisRPC::~IDiarkisRPC
virtual ~IDiarkisRPC()
Definition: rpcModule.h:24
room.h