Diarkis C++Client Library API Document
directMessage.h
Go to the documentation of this file.
1 // © 2019-2024 Diarkis Inc. All rights reserved.
2 
3 #pragma once
4 
5 #include "diarkis/common.h"
8 #include "diarkis/network/tcp.h"
9 #include "diarkis/network/udp.h"
10 
11 using namespace Diarkis::Network;
12 
13 // ADD NAMESPACE NAME TAG
14 namespace Diarkis
15 {
16 namespace Modules
17 {
25 {
26  public:
34 
45  virtual void SetLoggerFactory(const std::shared_ptr<IDiarkisLoggerFactory>& loggerFactory, const Diarkis::StdString& loggerNameSuffix) = 0;
46 
55  virtual bool SetupAsTcp(const std::shared_ptr<IDiarkisTcp>& tcp) = 0;
56 
65  virtual bool SetupAsUdp(const std::shared_ptr<IDiarkisUdp>& udp) = 0;
66 
75  virtual bool SetTcp(const std::shared_ptr<IDiarkisTcp>& tcp) = 0;
76 
85  virtual bool SetUdp(const std::shared_ptr<IDiarkisUdp>& udp) = 0;
86 
93  virtual std::shared_ptr<IDiarkisEvent<const DiarkisDirectMessageEventArgs&>> GetDisconnectEvent() = 0;
94 
101  virtual std::shared_ptr<IDiarkisEvent<const DiarkisDirectMessageEventArgs&>> GetMessageEvent() = 0;
102 
117  virtual Diarkis::System::Result Disconnect(const char* uid, const uint8_t* message, size_t messageSize) = 0;
118 
125  virtual Diarkis::System::Result Disconnect(const Diarkis::StdString& uid, const Diarkis::StdVector<uint8_t>& message) = 0;
126 
147  virtual Diarkis::System::Result Send(const char* uid, const uint8_t* message, size_t messageSize) = 0;
148 
155  virtual Diarkis::System::Result Send(const Diarkis::StdString& uid, const Diarkis::StdVector<uint8_t>& message) = 0;
156 
177  virtual Diarkis::System::Result RSend(const char* uid, const uint8_t* message, size_t messageSize) = 0;
178 
185  virtual Diarkis::System::Result RSend(const Diarkis::StdString& uid, const Diarkis::StdVector<uint8_t>& message) = 0;
186 };
187 
188 extern "C"
189 {
196  DIARKIS_EXPORT IDiarkisDirectMessage* DiarkisCreateDirectMessage();
197 }
198 
199 } // namespace Modules
200 } // namespace Diarkis
201  // ADD NAMESPACE } TAG
LoggerFactory.h
Diarkis::Modules::IDiarkisDirectMessage::~IDiarkisDirectMessage
virtual ~IDiarkisDirectMessage()
Destructor for the IDiarkisDirectMessage class.
Definition: directMessage.h:33
Diarkis::StdString
Definition: common.h:432
Diarkis::System::Result
Contains information about a specific result value. Can be compared against another Result structure....
Definition: result.h:37
Diarkis::StdVector< uint8_t >
eventArgs.h
Diarkis::Modules::DiarkisCreateDirectMessage
DIARKIS_EXPORT IDiarkisDirectMessage * DiarkisCreateDirectMessage()
Create IDiarkisDirectMessage class.
Diarkis::Modules::IDiarkisDirectMessage
Interface class for DirectMessage.
Definition: directMessage.h:24
Diarkis
Definition: commands.h:9
Diarkis::Network
Definition: eventArgs.h:10
common.h
tcp.h
udp.h