46 virtual void SetLoggerFactory(
const std::shared_ptr<IDiarkisLoggerFactory>& loggerFactory,
const Diarkis::StdString& loggerNameSuffix) = 0;
56 virtual bool SetupAsTcp(
const std::shared_ptr<IDiarkisTcp>& tcp) = 0;
66 virtual bool SetupAsUdp(
const std::shared_ptr<IDiarkisUdp>& udp) = 0;
74 virtual bool SetTcp(
const std::shared_ptr<IDiarkisTcp>& tcp) = 0;
82 virtual bool SetUdp(
const std::shared_ptr<IDiarkisUdp>& udp) = 0;
92 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomCreationEventArgs&>> GetCreateEvent() = 0;
102 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomJoinEventArgs&>> GetJoinEvent() = 0;
112 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomSuccessEventArgs&>> GetLeaveEvent() = 0;
122 virtual std::shared_ptr<IDiarkisEvent<void*>> GetMigrateStartEvent() = 0;
130 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomMigrateCompleteEventArgs&>> GetMigrateCompleteEvent() = 0;
138 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberJoinEvent() = 0;
146 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberLeaveEvent() = 0;
154 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberBroadcastEvent() = 0;
162 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberMessageEvent() = 0;
164 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberExclusiveBroadcastEvent() = 0;
165 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetMemberExclusiveMessageEvent() = 0;
173 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomSuccessEventArgs&>> GetUpdatePropertiesEvent() = 0;
181 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomPropertiesEventArgs&>> GetGetPropertiesEvent() = 0;
189 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomPropertiesEventArgs&>> GetUpdateSyncPropertiesEvent() = 0;
197 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomIncrementPropertyEventArgs&>> GetIncrementPropertyEvent() = 0;
205 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomIncrementPropertySyncEventArgs&>> GetIncrementPropertySyncEvent() = 0;
213 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomGetOwnerIDEventArgs&>> GetOwnerIDEvent() = 0;
221 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomMemberIDsEventArgs&>> GetMemberIDSEvent() = 0;
229 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomNumberOfMembersEventArgs&>> GetNumberOfMembersEvent() = 0;
237 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomPayloadEventArgs&>> GetRegisterEvent() = 0;
245 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomFindByTypeEventArgs&>> GetFindByTypeEvnet() = 0;
253 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomPayloadEventArgs&>> GetReserveEvent() = 0;
261 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomPayloadEventArgs&>> GetCancelReservationEvent() = 0;
269 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomPayloadEventArgs&>> GetChatSyncResponseEvent() = 0;
277 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomChatEventArgs&>> GetChatSyncEvent() = 0;
285 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomChatLogEventArgs&>> GetChatLogEvent() = 0;
293 virtual std::shared_ptr<IDiarkisEvent<const DiarkisP2PEventArgs&>> GetStartP2PSyncEvent() = 0;
301 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomGetOwnerIDEventArgs&>> GetOwnerChangeEvent() = 0;
309 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomObjectUpdateEventArgs&>> GetObjectUpdateEvent() = 0;
317 virtual std::shared_ptr<IDiarkisEvent<const DiarkisRoomObjectUpdateResponseEventArgs&>> GetObjectUpdateResponseEvent() = 0;
325 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetRelayEvent() = 0;
333 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetRelayToEvent() = 0;
341 virtual std::shared_ptr<IDiarkisEvent<void*>> GetOfflineEvent() = 0;
371 virtual Diarkis::System::Result Create(uint16_t maxMembers,
bool allowEmpty,
bool join, uint16_t ttl, uint32_t interval = 200) = 0;
435 const uint8_t* message,
437 uint32_t interval = 200,
438 bool allowEmpty =
false) = 0;
449 uint32_t interval = 200,
450 bool allowEmpty =
false) = 0;
494 virtual Diarkis::System::Result BroadcastTo(
const char* roomID,
const uint8_t* message,
size_t messageSize,
bool reliable =
true) = 0;
506 bool reliable =
true) = 0;
507 virtual Diarkis::System::Result ExclusiveBroadcastTo(
const char* roomID,
const uint8_t* message,
size_t messageSize,
bool reliable =
true) = 0;
511 bool reliable =
true) = 0;
513 const char** memberIDs,
514 size_t memberIDsCount,
515 const uint8_t* message,
517 bool reliable =
true) = 0;
540 const char** memberIDs,
541 size_t memberIDsCount,
542 const uint8_t* message,
544 bool reliable =
true) = 0;
555 bool reliable =
true) = 0;
606 const char** memberIDs,
607 size_t memberIDsCount,
608 const uint8_t* message,
610 bool reliable =
true) = 0;
621 bool reliable =
true) = 0;
640 bool sync =
false) = 0;
650 bool sync =
false) = 0;
666 virtual Diarkis::System::Result GetProperties(
const char* roomID,
const char** propertyNames,
size_t propertyCount) = 0;
790 virtual Diarkis::System::Result Register(uint32_t roomType,
const char* roomName,
const char* roomMetadata) = 0;
852 virtual Diarkis::System::Result CancelReservation(
const char* cancelRoomID,
const char** userIDs,
size_t userIDsSize) = 0;
957 bool reliable =
true) = 0;
973 virtual void SetRoomID(
const char* roomID) = 0;
989 virtual void RegisterCustomMessagePush(uint8_t version, uint16_t command, std::function<
void(
const Diarkis::StdVector<uint8_t>&)> callback) = 0;