Diarkis C++Client Library API Document
DiarkisSessionBase クラス

Session機能を簡単に使用するためのIDiarkisSessionクラスをラップする基本クラス [詳解]

#include <DiarkisSessionBase.h>

DiarkisSessionBase 連携図

公開メンバ関数

 DiarkisSessionBase ()
 DiarkisSessionBaseのコンストラクタ [詳解]
 
virtual ~DiarkisSessionBase ()
 DiarkisSessionBase デストラクタ [詳解]
 
virtual void SetupUdpSession (const std::shared_ptr< IDiarkisUdp > &udp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
 UDPプロトコルを使用したセッションの設定。 [詳解]
 
virtual void SetupTcpSession (const std::shared_ptr< IDiarkisTcp > &tcp, const std::shared_ptr< LoggerFactory > &loggerFactory, bool bRetry)
 TCPプロトコルでセッションを設定します。 [詳解]
 
bool HasSession (uint8_t sessionType) const
 少なくとも1つのセッションに参加しているかどうかをチェックします。 [詳解]
 
virtual void SendCreate (uint8_t sessionType, uint8_t maxMembers, uint8_t ttl)
 新しいセッションを作成します。 [詳解]
 
virtual void SendInvite (uint8_t sessionType, const char **uids, size_t uidsCount)
 現在いるセッションにユーザーを招待します。 [詳解]
 
virtual void SendInvite (uint8_t sessionType, const std::vector< std::string > &uids)
 SendInvite(uint8_t, const char**, size_t)と同じです [詳解]
 
virtual void SendInvite (uint8_t sessionType, const char **uids, size_t uidsCount, const uint8_t *message, size_t messageSize)
 現在のセッションにユーザーを招待します。 [詳解]
 
virtual void SendInvite (uint8_t sessionType, const std::vector< std::string > &uids, const std::string &message)
 SendInvite(uint8_t, const char**, size_t, const uint8_t*, size_t)と同じです [詳解]
 
virtual void SendInvite (uint8_t sessionType, const char **uids, size_t uidsCount, const char *message)
 SendInvite(uint8_t, const char**, size_t, const uint8_t*, size_t)と同じです [詳解]
 
virtual void SendBroadcast (uint8_t sessionType, const uint8_t *message, size_t messageSize)
 メッセージをブロードキャストする [詳解]
 
virtual void SendBroadcast (uint8_t sessionType, const std::string &message)
 SendBroadcast()と同じです [詳解]
 
virtual void SendBroadcast (uint8_t sessionType, const char *message)
 SendBroadcast()と同じ [詳解]
 
virtual void SendMessageTo (uint8_t sessionType, const char **uids, size_t uidsCount, const uint8_t *message, size_t messageSize)
 特定のメンバーにメッセージを送信する [詳解]
 
virtual void SendMessageTo (uint8_t sessionType, const char **uids, size_t uidsCount, const char *message)
 SendMessageTo()と同じ [詳解]
 
virtual void SendMessageTo (uint8_t sessionType, const std::vector< std::string > &memberIDs, const std::string &message)
 SendMessageTo()と同じです [詳解]
 
virtual void SendGetSessionInfoBySessionType (uint8_t sessionType)
 指定されたセッションの情報を取得します。 [詳解]
 
virtual void SendGetSessionInfoBySessionID (const char *sessionID)
 指定されたセッションに関する情報を取得します。 [詳解]
 
virtual void SendGetSessionInfoBySessionID (const std::string &sessionID)
 SendGetSessionInfoBySessionID()と同じ [詳解]
 
Diarkis::StdString GetSessionID (uint8_t sessionType) const
 セッションIDを取得する [詳解]
 
virtual void SendKick (uint8_t sessionType, const char *userID)
 セッションメンバーをキックする [詳解]
 
virtual void SendKick (uint8_t sessionType, const std::string &userID)
 SendKick()と同じ [詳解]
 
virtual void SendJoin (uint8_t sessionType, const char *sessionID)
 セッションに参加する [詳解]
 
virtual void SendJoin (uint8_t sessionType, const std::string &sessionID)
 SendJoin()と同じ [詳解]
 
virtual void SendLeave (uint8_t sessionType)
 セッションを離れる [詳解]
 
void SetUserID (const char *userID)
 ユーザーIDを設定する [詳解]
 
void SetUserID (const std::string &userID)
 SendUserID()と同じです [詳解]
 
Diarkis::StdString GetUserID () const
 ユーザーIDを取得する [詳解]
 

限定公開メンバ関数

virtual void OnSessionCreateResponse (const DiarkisSessionCreateResponseEventArgs &e)
 Sessionが作成されたときに呼び出されるコールバックイベント、イベントの内容はSession IDです。 [詳解]
 
virtual void OnSessionInvite (const DiarkisSessionInviteEventArgs &e)
 ユーザーがセッションに招待されたときに呼び出されるコールバックイベント。イベントの内容はセッションIDです。 [詳解]
 
virtual void OnSessionJoin (const DiarkisSessionNotificationEventArgs &e)
 メンバーがセッションに参加したときのコールバックイベント、イベントの内容はユーザーIDです。 [詳解]
 
virtual void OnSessionLeave (const DiarkisSessionNotificationEventArgs &e)
 メンバーがセッションを離れるときのコールバックイベント、イベントコンテンツはユーザーIDです。 [詳解]
 
virtual void OnSessionBroadcast (const DiarkisSessionNotificationEventArgs &e)
 ブロードキャストを受信した際のコールバックイベント [詳解]
 
virtual void OnSessionMessageTo (const DiarkisSessionNotificationEventArgs &e)
 メッセージを受信した際のコールバックイベント。 [詳解]
 
virtual void OnSessionInfo (const DiarkisSessionInfoEventArgs &e)
 参加しているセッションの情報を取得した時に呼び出されるコールバックイベント。 [詳解]
 
virtual void OnSessionKick (const DiarkisSessionNotificationEventArgs &e)
 セッションからキックされた時のコールバックイベント。 [詳解]
 
virtual void OnSessionInviteResponse (const DiarkisSessionResponseEventArgs &e)
 SendInviteを送信した際にサーバーからの応答を受信したときのコールバックイベント。 [詳解]
 
virtual void OnSessionKickResponse (const DiarkisSessionResponseEventArgs &e)
 SendKick が送信された際にサーバーからのレスポンスを受け取った時のコールバックイベント。 [詳解]
 
virtual void OnSessionJoinResponse (const DiarkisSessionResponseEventArgs &e)
 SendJoinを送信した際にサーバーからの応答を受け取った際のコールバックイベント。 [詳解]
 
virtual void OnSessionMessageToResponse (const DiarkisSessionResponseEventArgs &e)
 SendMessageToを送信した際にサーバーからの応答を受信したときのコールバックイベント。 [詳解]
 
virtual void OnSessionBroadcastResponse (const DiarkisSessionResponseEventArgs &e)
 SendBroadcastを送信した時にサーバーからのレスポンスを受信した際のコールバックイベント。 [詳解]
 
virtual void OnSessionLeaveResponse (const DiarkisSessionResponseEventArgs &e)
 SendLeaveが送信された際にサーバーからのレスポンスを受信した際のコールバックイベントです。 [詳解]
 

限定公開変数類

std::shared_ptr< IDiarkisUdpudp_
 IDiarkisUdpクラスへのポインタ [詳解]
 
std::shared_ptr< IDiarkisTcptcp_
 IDiarkisTcpクラスへのポインター [詳解]
 
std::shared_ptr< IDiarkisSessionsession_
 IDiarkisSessionクラスへのポインター [詳解]
 
std::shared_ptr< IDiarkisLoggerlogger_
 IDiarkisLoggerクラスへのポインタ [詳解]
 
Diarkis::StdVector< std::function< void()> > eventUnsubscriptions_
 ラムダ関数のリスト [詳解]
 

詳解

Session機能を簡単に使用するためのIDiarkisSessionクラスをラップする基本クラス

構築子と解体子

◆ DiarkisSessionBase()

DiarkisSessionBase::DiarkisSessionBase ( )

DiarkisSessionBaseのコンストラクタ

呼び出し関係図:

◆ ~DiarkisSessionBase()

DiarkisSessionBase::~DiarkisSessionBase ( )
virtual

DiarkisSessionBase デストラクタ

関数詳解

◆ SetupUdpSession()

void DiarkisSessionBase::SetupUdpSession ( const std::shared_ptr< IDiarkisUdp > &  udp,
const std::shared_ptr< LoggerFactory > &  loggerFactory,
bool  bRetry 
)
virtual

UDPプロトコルを使用したセッションの設定。

ロガーとコールバック関数を登録します。

引数
[in]udpIDiarkisUdpクラスへのポインタ
[in]loggerFactoryロガークラスへのポインタ
[in]bRetry失敗した場合の再接続時にtrueでこの関数を呼び出します。最初の呼び出しはfalseである必要があります。
呼び出し関係図:

◆ SetupTcpSession()

void DiarkisSessionBase::SetupTcpSession ( const std::shared_ptr< IDiarkisTcp > &  tcp,
const std::shared_ptr< LoggerFactory > &  loggerFactory,
bool  bRetry 
)
virtual

TCPプロトコルでセッションを設定します。

ロガーとコールバック関数を登録します。

引数
[in]tcpIDiarkisTcpクラスへのポインタ
[in]loggerFactoryロガークラスへのポインタ
[in]bRetry失敗した場合に再接続する際にはtrueでこの関数を呼び出します。最初の呼び出し時はfalseである必要があります。
呼び出し関係図:

◆ HasSession()

bool DiarkisSessionBase::HasSession ( uint8_t  sessionType) const

少なくとも1つのセッションに参加しているかどうかをチェックします。

◆ SendCreate()

void DiarkisSessionBase::SendCreate ( uint8_t  sessionType,
uint8_t  maxMembers,
uint8_t  ttl 
)
virtual

新しいセッションを作成します。

GetCreateEvent() で登録されたコールバックイベント(例:OnSessionCreate)がトリガーされます。

引数
[in]sessionTypeセッションのタイプ
[in]maxMembersセッションの最大参加者数
[in]ttlセッションの空になった後の秒数での期間。
呼び出し関係図:

◆ SendInvite() [1/5]

void DiarkisSessionBase::SendInvite ( uint8_t  sessionType,
const char **  uids,
size_t  uidsCount 
)
virtual

現在いるセッションにユーザーを招待します。

OnSessionInvite は招待されたユーザーによってトリガーされます。

引数
[in]sessionType招待するセッションの種類。
[in]uids招待状を送るユーザーIDのリスト
[in]uidsCountUIDの数
被呼び出し関係図:

◆ SendInvite() [2/5]

void DiarkisSessionBase::SendInvite ( uint8_t  sessionType,
const std::vector< std::string > &  uids 
)
virtual

SendInvite(uint8_t, const char**, size_t)と同じです

呼び出し関係図:

◆ SendInvite() [3/5]

void DiarkisSessionBase::SendInvite ( uint8_t  sessionType,
const char **  uids,
size_t  uidsCount,
const uint8_t *  message,
size_t  messageSize 
)
virtual

現在のセッションにユーザーを招待します。

OnSessionInvite は招待されたユーザーによってトリガーされます。

引数
[in]sessionType招待するセッションの種類
[in]uids招待状を送信するユーザーIDのリスト
[in]uidsCountUIDの数
[in]message送信するメッセージ
[in]messageSizeメッセージの長さ
呼び出し関係図:

◆ SendInvite() [4/5]

void DiarkisSessionBase::SendInvite ( uint8_t  sessionType,
const std::vector< std::string > &  uids,
const std::string &  message 
)
virtual

◆ SendInvite() [5/5]

void DiarkisSessionBase::SendInvite ( uint8_t  sessionType,
const char **  uids,
size_t  uidsCount,
const char *  message 
)
virtual

◆ SendBroadcast() [1/3]

void DiarkisSessionBase::SendBroadcast ( uint8_t  sessionType,
const uint8_t *  message,
size_t  messageSize 
)
virtual

メッセージをブロードキャストする

メッセージは、自分自身を含むセッションのすべてのメンバーに配信されます。

引数
[in]sessionType送信するセッションのタイプ
[in]message送信するメッセージ
[in]messageSizeメッセージの長さ
被呼び出し関係図:

◆ SendBroadcast() [2/3]

void DiarkisSessionBase::SendBroadcast ( uint8_t  sessionType,
const std::string &  message 
)
virtual

SendBroadcast()と同じです

呼び出し関係図:

◆ SendBroadcast() [3/3]

void DiarkisSessionBase::SendBroadcast ( uint8_t  sessionType,
const char *  message 
)
virtual

SendBroadcast()と同じ

◆ SendMessageTo() [1/3]

void DiarkisSessionBase::SendMessageTo ( uint8_t  sessionType,
const char **  uids,
size_t  uidsCount,
const uint8_t *  message,
size_t  messageSize 
)
virtual

特定のメンバーにメッセージを送信する

このメッセージはセッションの特定のメンバーに配信されます。

引数
[in]sessionTypeはセッションの種類です
[in]uidsはメッセージが送信されるユーザーIDのリストです
[in]uidsCountはUIDの数です
[in]messageはペイロードデータです
[in]messageSizeはメッセージの長さです

◆ SendMessageTo() [2/3]

void DiarkisSessionBase::SendMessageTo ( uint8_t  sessionType,
const char **  uids,
size_t  uidsCount,
const char *  message 
)
virtual

SendMessageTo()と同じ

◆ SendMessageTo() [3/3]

void DiarkisSessionBase::SendMessageTo ( uint8_t  sessionType,
const std::vector< std::string > &  memberIDs,
const std::string &  message 
)
virtual

SendMessageTo()と同じです

呼び出し関係図:

◆ SendGetSessionInfoBySessionType()

void DiarkisSessionBase::SendGetSessionInfoBySessionType ( uint8_t  sessionType)
virtual

指定されたセッションの情報を取得します。

GetSessionInfoEvent(例:OnSessionInfo)で登録されたコールバックイベントがトリガーされます。

引数
[in]sessionTypeセッションのタイプ
呼び出し関係図:

◆ SendGetSessionInfoBySessionID() [1/2]

void DiarkisSessionBase::SendGetSessionInfoBySessionID ( const char *  sessionID)
virtual

指定されたセッションに関する情報を取得します。

GetSessionInfoEvent(例:OnSessionInfoで登録した)とトリガーされます。

引数
[in]sessionIDセッションのID
呼び出し関係図:
被呼び出し関係図:

◆ SendGetSessionInfoBySessionID() [2/2]

void DiarkisSessionBase::SendGetSessionInfoBySessionID ( const std::string &  sessionID)
virtual

SendGetSessionInfoBySessionID()と同じ

呼び出し関係図:

◆ GetSessionID()

Diarkis::StdString DiarkisSessionBase::GetSessionID ( uint8_t  sessionType) const

セッションIDを取得する

セッションに参加していない場合、IDは空になります。

引数
[in]sessionTypeIDを取得するセッションのタイプ

◆ SendKick() [1/2]

void DiarkisSessionBase::SendKick ( uint8_t  sessionType,
const char *  userID 
)
virtual

セッションメンバーをキックする

引数
[in]sessionTypeセッションタイプ
[in]userIDキックするユーザーのID
呼び出し関係図:
被呼び出し関係図:

◆ SendKick() [2/2]

void DiarkisSessionBase::SendKick ( uint8_t  sessionType,
const std::string &  userID 
)
virtual

SendKick()と同じ

呼び出し関係図:

◆ SendJoin() [1/2]

void DiarkisSessionBase::SendJoin ( uint8_t  sessionType,
const char *  sessionID 
)
virtual

セッションに参加する

引数
[in]sessionTypeセッションのタイプ
[in]sessionIDセッションのID
呼び出し関係図:
被呼び出し関係図:

◆ SendJoin() [2/2]

void DiarkisSessionBase::SendJoin ( uint8_t  sessionType,
const std::string &  sessionID 
)
virtual

SendJoin()と同じ

呼び出し関係図:

◆ SendLeave()

void DiarkisSessionBase::SendLeave ( uint8_t  sessionType)
virtual

セッションを離れる

引数
[in]sessionTypeセッションの種類
呼び出し関係図:

◆ SetUserID() [1/2]

void DiarkisSessionBase::SetUserID ( const char *  userID)

ユーザーIDを設定する

引数
[in]userIDユーザーID
被呼び出し関係図:

◆ SetUserID() [2/2]

void DiarkisSessionBase::SetUserID ( const std::string &  userID)

SendUserID()と同じです

呼び出し関係図:

◆ GetUserID()

Diarkis::StdString DiarkisSessionBase::GetUserID ( ) const

ユーザーIDを取得する

◆ OnSessionCreateResponse()

void DiarkisSessionBase::OnSessionCreateResponse ( const DiarkisSessionCreateResponseEventArgs e)
protectedvirtual

Sessionが作成されたときに呼び出されるコールバックイベント、イベントの内容はSession IDです。

呼び出し関係図:

◆ OnSessionInvite()

void DiarkisSessionBase::OnSessionInvite ( const DiarkisSessionInviteEventArgs e)
protectedvirtual

ユーザーがセッションに招待されたときに呼び出されるコールバックイベント。イベントの内容はセッションIDです。

呼び出し関係図:

◆ OnSessionJoin()

void DiarkisSessionBase::OnSessionJoin ( const DiarkisSessionNotificationEventArgs e)
protectedvirtual

メンバーがセッションに参加したときのコールバックイベント、イベントの内容はユーザーIDです。

呼び出し関係図:

◆ OnSessionLeave()

void DiarkisSessionBase::OnSessionLeave ( const DiarkisSessionNotificationEventArgs e)
protectedvirtual

メンバーがセッションを離れるときのコールバックイベント、イベントコンテンツはユーザーIDです。

呼び出し関係図:

◆ OnSessionBroadcast()

void DiarkisSessionBase::OnSessionBroadcast ( const DiarkisSessionNotificationEventArgs e)
protectedvirtual

ブロードキャストを受信した際のコールバックイベント

呼び出し関係図:

◆ OnSessionMessageTo()

void DiarkisSessionBase::OnSessionMessageTo ( const DiarkisSessionNotificationEventArgs e)
protectedvirtual

メッセージを受信した際のコールバックイベント。

呼び出し関係図:

◆ OnSessionInfo()

void DiarkisSessionBase::OnSessionInfo ( const DiarkisSessionInfoEventArgs e)
protectedvirtual

参加しているセッションの情報を取得した時に呼び出されるコールバックイベント。

呼び出し関係図:

◆ OnSessionKick()

void DiarkisSessionBase::OnSessionKick ( const DiarkisSessionNotificationEventArgs e)
protectedvirtual

セッションからキックされた時のコールバックイベント。

呼び出し関係図:

◆ OnSessionInviteResponse()

void DiarkisSessionBase::OnSessionInviteResponse ( const DiarkisSessionResponseEventArgs e)
protectedvirtual

SendInviteを送信した際にサーバーからの応答を受信したときのコールバックイベント。

呼び出し関係図:

◆ OnSessionKickResponse()

void DiarkisSessionBase::OnSessionKickResponse ( const DiarkisSessionResponseEventArgs e)
protectedvirtual

SendKick が送信された際にサーバーからのレスポンスを受け取った時のコールバックイベント。

呼び出し関係図:

◆ OnSessionJoinResponse()

void DiarkisSessionBase::OnSessionJoinResponse ( const DiarkisSessionResponseEventArgs e)
protectedvirtual

SendJoinを送信した際にサーバーからの応答を受け取った際のコールバックイベント。

呼び出し関係図:

◆ OnSessionMessageToResponse()

void DiarkisSessionBase::OnSessionMessageToResponse ( const DiarkisSessionResponseEventArgs e)
protectedvirtual

SendMessageToを送信した際にサーバーからの応答を受信したときのコールバックイベント。

呼び出し関係図:

◆ OnSessionBroadcastResponse()

void DiarkisSessionBase::OnSessionBroadcastResponse ( const DiarkisSessionResponseEventArgs e)
protectedvirtual

SendBroadcastを送信した時にサーバーからのレスポンスを受信した際のコールバックイベント。

呼び出し関係図:

◆ OnSessionLeaveResponse()

void DiarkisSessionBase::OnSessionLeaveResponse ( const DiarkisSessionResponseEventArgs e)
protectedvirtual

SendLeaveが送信された際にサーバーからのレスポンスを受信した際のコールバックイベントです。

呼び出し関係図:

メンバ詳解

◆ udp_

std::shared_ptr<IDiarkisUdp> DiarkisSessionBase::udp_
protected

IDiarkisUdpクラスへのポインタ

~@japanese

◆ tcp_

std::shared_ptr<IDiarkisTcp> DiarkisSessionBase::tcp_
protected

IDiarkisTcpクラスへのポインター

◆ session_

std::shared_ptr<IDiarkisSession> DiarkisSessionBase::session_
protected

IDiarkisSessionクラスへのポインター

◆ logger_

std::shared_ptr<IDiarkisLogger> DiarkisSessionBase::logger_
protected

IDiarkisLoggerクラスへのポインタ

◆ eventUnsubscriptions_

Diarkis::StdVector<std::function<void()> > DiarkisSessionBase::eventUnsubscriptions_
protected

ラムダ関数のリスト


このクラス詳解は次のファイルから抽出されました: