60 virtual void SetLoggerFactory(
const std::shared_ptr<IDiarkisLoggerFactory>& loggerFactory,
Diarkis::StdString loggerNameSuffix) = 0;
68 virtual bool SetupAsTcp(
const std::shared_ptr<IDiarkisTcp>& tcp) = 0;
76 virtual bool SetupAsUdp(
const std::shared_ptr<IDiarkisUdp>& udp) = 0;
86 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMHostEventArgs&>> GetHostEvent() = 0;
96 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetAbortEvent() = 0;
106 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMSyncEventArgs&>> GetDisbandEvent() = 0;
116 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMSyncEventArgs&>> GetMemberLeaveEvent() = 0;
126 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMSyncEventArgs&>> GetMemberJoinEvent() = 0;
136 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMSyncEventArgs&>> GetMemberSyncEvent() = 0;
146 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMJoinResponseEventArgs&>> GetJoinEvent() = 0;
156 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetLeaveEvent() = 0;
166 virtual std::shared_ptr<IDiarkisEvent<void*>> GetCompleteEvent() = 0;
176 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMJoinResponseEventArgs&>> GetSearchEvent() = 0;
186 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResultEventArgs&>> GetResultsEvent() = 0;
196 virtual std::shared_ptr<IDiarkisEvent<const DiarkisP2PEventArgs&>> GetP2PAddressEvent() = 0;
206 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetP2PResponseEvent() = 0;
216 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetBackfillEvent() = 0;
226 virtual std::shared_ptr<IDiarkisEvent<const DiarkisPayloadEventArgs&>> GetKickEvent() = 0;
236 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetKickResponseEvent() = 0;
246 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetCommitEvent() = 0;
256 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMJoinResponseEventArgs&>> GetCompleteCommitEvent() = 0;
266 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMHostEventArgs&>> GetTeamHostEvent() = 0;
276 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMJoinResponseEventArgs&>> GetTeamSearchEvent() = 0;
286 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResultEventArgs&>> GetTeamResultsEvent() = 0;
296 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMSyncEventArgs&>> GetTeamMemberJoinEvent() = 0;
304 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetIssueTicketResponseEvent() = 0;
314 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetTicketCompleteEvent() = 0;
324 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMStringEventArgs&>> GetHostChangeEvent() = 0;
334 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMTicketTypeEventArgs&>> GetTicketCancelEvent() = 0;
344 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetTicketCancelResponseEvent() = 0;
354 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetTicketBroadcastResponseEvent() = 0;
364 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMSyncEventArgs&>> GetTicketBroadcastEvent() = 0;
372 virtual std::shared_ptr<IDiarkisEvent<const DiarkisMMResponseEventArgs&>> GetTicketLeaveEvent() = 0;
414 virtual void SetProperties(
const MatchMakerCondition* conditionMap,
size_t conditionMapSize) = 0;
442 virtual void SetUID(
const char* profileID) = 0;
470 virtual void SetTime(uint16_t ttl) = 0;
480 virtual uint16_t
GetTime() = 0;
494 virtual void SetMetaData(
const uint8_t* metadata,
size_t metadataSize) = 0;
522 virtual void SetMaxMembers(uint16_t maxMembers) = 0;
532 virtual uint16_t GetMaxMembers() = 0;
548 virtual void SetReserveOnly(
bool reverveOnly) = 0;
556 virtual bool GetReserveOnly() = 0;
566 virtual void SetTag(
const char* tag) = 0;
592 virtual bool HostMatchmaking(
void) = 0;
602 virtual void AbortMatchmaking(
void) = 0;
616 virtual void DisbandMatchmaking(
const uint8_t* message,
size_t messageSize) = 0;
640 virtual void ClaimReservedMatchmaking(
const uint8_t* message,
size_t messageSize) = 0;
664 virtual void JoinMatchmakingFromResult(
MatchMakerResultItem& result,
const uint8_t* message,
size_t messageSize) = 0;
686 virtual void LeaveMatchmaking(
const uint8_t* message,
size_t messageSize) = 0;
708 virtual void Sync(
const uint8_t* message,
size_t messageSize) = 0;
728 virtual void NotifyMatchmakingCompletion(
void) = 0;
748 virtual void P2PAddressSync(uint8_t linkedClientNum = 0) = 0;
778 virtual void Search(
const char** profileIDs,
779 size_t profileIDsCount,
782 size_t conditionsCount,
785 const uint8_t* message,
786 size_t messageSize) = 0;
813 virtual bool StartBackfill(
const char* roomID) = 0;
835 virtual void Kick(
const char* userID) = 0;
860 virtual void Commit(
void) = 0;
870 virtual bool TeamHostMatchmaking(
void) = 0;
900 virtual void TeamSearch(
const char** profileIDs,
901 size_t profileIDsCount,
904 size_t conditionsCount,
907 const uint8_t* message,
908 size_t messageSize) = 0;
935 virtual void IssueTicket(uint8_t ticketType = 0) = 0;
947 virtual void TicketCancel(uint8_t ticketType = 0) = 0;
963 virtual void TicketBroadcast(uint8_t ticketType,
const uint8_t* message,
size_t messageSize) = 0;
983 virtual void TicketLeave(uint8_t ticketType) = 0;