Diarkis C++Client Library API Document
Diarkis::Modules::IDiarkisField Class Referenceabstract

Interface class for Field. More...

#include <field.h>

Public Member Functions

virtual ~IDiarkisField ()
 Destructor for the IDiarkisField class. More...
 
virtual void SetLoggerFactory (std::shared_ptr< IDiarkisLoggerFactory > loggerFactory, Diarkis::StdString loggerNameSuffix)=0
 Register a logger. More...
 
virtual bool SetupAsTcp (const std::shared_ptr< IDiarkisTcp > &tcp)=0
 Initialize IDiarkisField as a TCP protocol. More...
 
virtual bool SetupAsUdp (const std::shared_ptr< IDiarkisUdp > &udp)=0
 Initialize IDiarkisField as a UDP protocol. More...
 
virtual Diarkis::System::Result Disappear ()=0
 Set up Field as a UDP protocol. More...
 
virtual Diarkis::System::Result Leave ()=0
 Notify that you are leaving the Field. More...
 
virtual Diarkis::System::Result Join (int64_t x, int64_t y, int64_t z, uint16_t syncLimit, uint8_t customFilterID, const uint8_t *message, size_t messageSize, bool reliable=false)=0
 Join Field. More...
 
virtual Diarkis::System::Result Join (int64_t x, int64_t y, int64_t z, uint16_t syncLimit, uint8_t customFilterID, const Diarkis::StdVector< uint8_t > &message, bool reliable=false)=0
 Same as Join() More...
 
virtual Diarkis::System::Result Sync (int64_t x, int64_t y, int64_t z, uint16_t syncLimit, uint8_t customFilterID, const uint8_t *message, size_t messageSize, bool reliable=true)=0
 Sends data to other clients in the Field. More...
 
virtual Diarkis::System::Result Sync (int64_t x, int64_t y, int64_t z, uint16_t syncLimit, uint8_t customFilterID, const Diarkis::StdVector< uint8_t > &message, bool reliable=true)=0
 Same as Sync() More...
 
virtual std::shared_ptr< IDiarkisEvent< const Diarkis::StdVector< Diarkis::StdVector< uint8_t > > & > > GetResponseSyncInitEvent ()=0
 Get the callback event that will be called to get notification when another client first syncs to the Field. More...
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisSuccessEventArgs & > > GetJoinEvent ()=0
 Get the response event when the user joins the Field. More...
 
virtual std::shared_ptr< IDiarkisEvent< const Diarkis::StdVector< uint8_t > & > > GetSyncEvent ()=0
 Get callback event to be called when synchronizing the location of nearby clients in the Field. More...
 
virtual std::shared_ptr< IDiarkisEvent< const Diarkis::StdString & > > GetDisappearEvent ()=0
 Get the callback event that is called when another client disappears from the Field. More...
 
virtual std::shared_ptr< IDiarkisEvent< void * > > GetReconnectEvent ()=0
 Get the callback event that is called when the Field is reconnected. More...
 
virtual std::shared_ptr< IDiarkisEvent< const DiarkisSuccessEventArgs & > > GetLeaveEvent ()=0
 Get the response event when exiting from a Field. More...
 

Detailed Description

Interface class for Field.

Constructor & Destructor Documentation

◆ ~IDiarkisField()

virtual Diarkis::Modules::IDiarkisField::~IDiarkisField ( )
inlinevirtual

Destructor for the IDiarkisField class.

Member Function Documentation

◆ SetLoggerFactory()

virtual void Diarkis::Modules::IDiarkisField::SetLoggerFactory ( std::shared_ptr< IDiarkisLoggerFactory loggerFactory,
Diarkis::StdString  loggerNameSuffix 
)
pure virtual

Register a logger.

Parameters
[in]loggerFactoryPointer to IDiarkisLoggerFactory
[in]loggerNameSuffixString to be added to the tag that will be output to the log

◆ SetupAsTcp()

virtual bool Diarkis::Modules::IDiarkisField::SetupAsTcp ( const std::shared_ptr< IDiarkisTcp > &  tcp)
pure virtual

Initialize IDiarkisField as a TCP protocol.

◆ SetupAsUdp()

virtual bool Diarkis::Modules::IDiarkisField::SetupAsUdp ( const std::shared_ptr< IDiarkisUdp > &  udp)
pure virtual

Initialize IDiarkisField as a UDP protocol.

◆ Disappear()

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisField::Disappear ( )
pure virtual

Set up Field as a UDP protocol.

◆ Leave()

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisField::Leave ( )
pure virtual

Notify that you are leaving the Field.

◆ Join() [1/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisField::Join ( int64_t  x,
int64_t  y,
int64_t  z,
uint16_t  syncLimit,
uint8_t  customFilterID,
const uint8_t *  message,
size_t  messageSize,
bool  reliable = false 
)
pure virtual

Join Field.

Callback events registered with GetJoinEvent() (e.g. OnJoin) will be triggered.

Parameters
[in]xValue of X coordinate in Field (width)
[in]yValue of Y coordinate in Field (depth)
[in]zValue of Z coordinate in Field (difference in spatial level, not height)
[in]syncLimitnumber of synchronizations
[in]customFilterIDIndicates the use of a filter function defined by the server during synchronization.
0 indicates that the filter function is not used.
[in]messageArray of data to send to other clients
[in]messageSizeLength of the message
[in]reliableDetermines whether to send via reliable communication (RUDP); ignored for TCP protocol.

◆ Join() [2/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisField::Join ( int64_t  x,
int64_t  y,
int64_t  z,
uint16_t  syncLimit,
uint8_t  customFilterID,
const Diarkis::StdVector< uint8_t > &  message,
bool  reliable = false 
)
pure virtual

Same as Join()

◆ Sync() [1/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisField::Sync ( int64_t  x,
int64_t  y,
int64_t  z,
uint16_t  syncLimit,
uint8_t  customFilterID,
const uint8_t *  message,
size_t  messageSize,
bool  reliable = true 
)
pure virtual

Sends data to other clients in the Field.

Callback events registered with GetSyncEvent() (e.g. OnSync) will be triggered.

Parameters
[in]xValue of X coordinate in Field (width)
[in]yValue of Y coordinate in Field (depth)
[in]zValue of Z coordinate in Field (spatial difference, not height)
[in]syncLimitNumber of synchronizations
[in]customFilterIDIndicates the use of a filter function defined by the server during synchronization.
0 indicates that the filter function is not used.
[in]messageData to send to other clients
[in]messageSizeLength of the message
[in]reliableDetermines whether to send with reliable communication (RUDP) or not (UDP); ignored for the TCP protocol.

◆ Sync() [2/2]

virtual Diarkis::System::Result Diarkis::Modules::IDiarkisField::Sync ( int64_t  x,
int64_t  y,
int64_t  z,
uint16_t  syncLimit,
uint8_t  customFilterID,
const Diarkis::StdVector< uint8_t > &  message,
bool  reliable = true 
)
pure virtual

Same as Sync()

◆ GetResponseSyncInitEvent()

virtual std::shared_ptr<IDiarkisEvent<const Diarkis::StdVector<Diarkis::StdVector<uint8_t> >&> > Diarkis::Modules::IDiarkisField::GetResponseSyncInitEvent ( )
pure virtual

Get the callback event that will be called to get notification when another client first syncs to the Field.

◆ GetJoinEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisSuccessEventArgs&> > Diarkis::Modules::IDiarkisField::GetJoinEvent ( )
pure virtual

Get the response event when the user joins the Field.

◆ GetSyncEvent()

virtual std::shared_ptr<IDiarkisEvent<const Diarkis::StdVector<uint8_t>&> > Diarkis::Modules::IDiarkisField::GetSyncEvent ( )
pure virtual

Get callback event to be called when synchronizing the location of nearby clients in the Field.

◆ GetDisappearEvent()

virtual std::shared_ptr<IDiarkisEvent<const Diarkis::StdString&> > Diarkis::Modules::IDiarkisField::GetDisappearEvent ( )
pure virtual

Get the callback event that is called when another client disappears from the Field.

◆ GetReconnectEvent()

virtual std::shared_ptr<IDiarkisEvent<void*> > Diarkis::Modules::IDiarkisField::GetReconnectEvent ( )
pure virtual

Get the callback event that is called when the Field is reconnected.

◆ GetLeaveEvent()

virtual std::shared_ptr<IDiarkisEvent<const DiarkisSuccessEventArgs&> > Diarkis::Modules::IDiarkisField::GetLeaveEvent ( )
pure virtual

Get the response event when exiting from a Field.


The documentation for this class was generated from the following file: