19 namespace Diarkis {
namespace Network
54 virtual void SetLoggerFactory(std::shared_ptr<IDiarkisLoggerFactory> loggerFactory) = 0;
70 virtual std::shared_ptr<IDiarkisEvent<const DiarkisConnectionEventArgs&>> GetConnectedEvent() = 0;
77 virtual std::shared_ptr<IDiarkisEvent<bool>> GetDisconnectedEvent() = 0;
84 virtual std::shared_ptr<IDiarkisEvent<const DiarkisResponseEventArgs&>> GetResponseEvent() = 0;
91 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPushEventArgs&>> GetPushEvent() = 0;
98 virtual std::shared_ptr<IDiarkisEvent<void*>> GetOfflineEvent() = 0;
105 virtual std::shared_ptr<IDiarkisEvent<void*>> GetRoomOfflineEvent() = 0;
112 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPushEventArgs&>> GetNotificationEvent() = 0;
136 virtual Diarkis::System::Result SetSessionID(
const uint8_t* sid_,
size_t sidBuf,
bool bypassConnectionStateCheck =
false) = 0;
164 virtual bool IsConnected()
const = 0;
179 virtual Diarkis::System::Result Connect(
const char* unresolvedAddress, uint16_t port, uint16_t timeOut = 3000) = 0;
246 virtual Diarkis::System::Result Send(uint8_t version, uint16_t command,
const uint8_t* payload,
size_t payloadLength) = 0;
270 virtual Diarkis::System::Result RSend(uint8_t version, uint16_t command,
const uint8_t* payload,
size_t payloadSize) = 0;