バイナリデータを格納するクラスです [詳解]
#include <RendezVous/Services/Messaging/src/Common/BinaryMessage.h>
公開メンバ関数 | |
BinaryMessage () | |
コンストラクタです | |
BinaryMessage (const void *pBuffer, qUnsignedInt32 bufferSize) | |
コンストラクタです [詳解] | |
const void * | GetBufferPtr () const |
バイナリデータのバッファアドレスを取得します。 [詳解] | |
size_t | GetBufferSize () const |
バイナリデータのバッファサイズを取得します。 [詳解] | |
const DateTime & | GetReceptionTime () const |
メッセージの受信時刻を取得します。 [詳解] | |
GatheringID | GetRecipientGatheringID () const |
メッセージの送信時に送信先としてセットされた ギャザリング ID を返します。 [詳解] | |
PrincipalID | GetRecipientPrincipalID () const |
メッセージの送信時に送信先としてセットされた プリンシパル ID を返します。 [詳解] | |
IdentifierTypes::Types | GetRecipientType () const |
GetRecipientPrincipalID(), GetRecipientGatheringID() どちらの関数を呼ぶ出すべきかを判断するための ID のタイプを返します。 [詳解] | |
PrincipalID | GetSenderID () const |
メッセージの送信元の PrincipalID を取得します。 [詳解] | |
const String & | GetSubject () const |
メッセージの Subject を取得します。 [詳解] | |
void | SetBuffer (const void *pBuffer, size_t bufferSize) |
指定したバッファをコピーしてバイナリデータをセットします。 MESSAGING_BINARY_MAX_SIZE を超えるデータは、インスタントメッセージング機能では使用できません。 サーバー送信時にエラーとなります。 [詳解] | |
void | SetSubject (const String &strSubject) |
メッセージの Subject をセットします。 MESSAGING_STRING_MAX_LENGTH 文字( NULL終端含まず ) を超えるテキストは、 インスタントメッセージング機能では使用できません。サーバー送信時にエラーとなります。 [詳解] | |
静的公開メンバ関数 | |
static Data * | DynamicCast (Data *pData) |
Dataクラスポインタの動的キャストを行います。 [詳解] | |
バイナリデータを格納するクラスです
インスタントメッセージング機能を利用する場合は本クラス、UserMessage 、TextMessage のいずれかのクラスを利用してください。
nn::nex::BinaryMessage::BinaryMessage | ( | const void * | pBuffer, |
qUnsignedInt32 | bufferSize | ||
) |
コンストラクタです
[in] | pBuffer | バッファアドレス |
[in] | bufferSize | バッファサイズ |
void nn::nex::BinaryMessage::SetBuffer | ( | const void * | pBuffer, |
size_t | bufferSize | ||
) |
指定したバッファをコピーしてバイナリデータをセットします。 MESSAGING_BINARY_MAX_SIZE を超えるデータは、インスタントメッセージング機能では使用できません。 サーバー送信時にエラーとなります。
[in] | pBuffer | バッファアドレス |
[in] | bufferSize | バッファサイズ |
const void* nn::nex::BinaryMessage::GetBufferPtr | ( | ) | const |
バイナリデータのバッファアドレスを取得します。
バッファ未設定の場合は、NULLが返ります。
size_t nn::nex::BinaryMessage::GetBufferSize | ( | ) | const |
バイナリデータのバッファサイズを取得します。
バッファ未設定の場合は、0が返ります。
|
inherited |
メッセージの受信時刻を取得します。
ゲームサーバーがメッセージを受信した時刻、すなわち送信元が送信した時刻を取得します。 クライアントがメッセージを受信した時刻ではないことに注意してください。
時刻は UTC でセットされています。
|
inherited |
メッセージの送信元の PrincipalID を取得します。
|
inherited |
メッセージの送信時に送信先としてセットされた プリンシパル ID を返します。
GetRecipientType() が返す ID のタイプが IdentifierTypes::PIDType の場合に使用します。 MessagingClient::SendInstant() で送信された場合はプリンシパル ID が返ります。 MessagingClient::SendChat() で送信された場合は INVALID_PRINCIPALID が返ります。
|
inherited |
メッセージの送信時に送信先としてセットされた ギャザリング ID を返します。
GetRecipientType() が返す IDのタイプ が IdentifierTypes::GIDType の場合に使用します。 MessagingClient::SendInstant() で送信された場合は INVALID_GATHERINGID が返ります。 MessagingClient::SendChat() で送信された場合は ギャザリング ID が返ります。
|
inherited |
GetRecipientPrincipalID(), GetRecipientGatheringID() どちらの関数を呼ぶ出すべきかを判断するための ID のタイプを返します。
|
inherited |
メッセージの Subject を取得します。
|
inherited |
メッセージの Subject をセットします。 MESSAGING_STRING_MAX_LENGTH 文字( NULL終端含まず ) を超えるテキストは、 インスタントメッセージング機能では使用できません。サーバー送信時にエラーとなります。
[in] | strSubject | メッセージの Subject |
Dataクラスポインタの動的キャストを行います。
本関数は、DDLコンパイラによってDDLで定義されたDataクラスの派生クラスに自動的に作成されます。
各クラスで定義された同名関数を呼び出すことで、引数で指定されたポインタを各クラスの型のポインタに動的にキャストします。 たとえば、UserMessage::DynamicCast() であれば、引数で指定したData*型のポインタをUserMessage*に動的にキャストします。 キャスト可能であれば有効なポインタを返し、キャスト不可能であればNULLを返します。
本関数による動的キャストは独自に実装しているので、RTTIを有効にする必要はありません。
[in] | pData | Dataクラスの派生クラスのポインタを指定します。 |