TSCContext(C++)

TSCContextはシステム提供クラスです。

TSCContextは,TSCユーザプロキシを使用してクライアント側からサーバ側のTSCユーザオブジェクトのメソッドを呼び出すとき,暗黙的にサーバ側に渡すユーザデータのコンテナクラスです。次にTSCContextの特徴を示します。

TSCContextによるユーザデータの取得

TSCProxyObjectを使用してクライアント側からサーバ側のTSCユーザオブジェクトのメソッドを呼び出すときに,TSCContextによって引数以外のユーザデータをサーバ側に渡すことができます。

クライアント側では,TSCProxyObjectの_TSCContextによってTSCContextを取得し,送信したいユーザデータを設定します。サーバ側では,オブジェクトが呼び出されている間,TSCObjectの_TSCContextを使用してTSCContextを取得します。このTSCContextが保持しているユーザデータは,クライアント側のTSCContextに設定したユーザデータと同じ内容です。

形式

class TSCContext
{
public:
 void setUserData(TSCUChar* user_data,
                  TSCInt user_data_length,
                  TSCBool release);
 TSCUChar* getUserData();
 TSCInt getUserDataLength();
 TSCBool getUserDataRelease();
};

インクルードファイル

#include <tsccontext.h>

メソッド

●void setUserData(TSCUChar* user_data,

                                 TSCInt user_data_length,
                                 TSCBool release)

項目型・意味
引数TSCUChar* user_dataユーザデータ
TSCInt user_data_lengthユーザデータサイズ
TSCBool releaseリリースフラグ
戻り値ありません。

ユーザデータを設定します。

リリースフラグ(release)がTSC_FALSEの場合,user_dataのメモリ領域の管理責任はユーザにあります。TSC_TRUEの場合は,user_dataのメモリ管理責任はTSCContextクラスにあるので,ユーザは削除しないでください。また,TSC_TRUEの場合は,TSCContextクラスはuser_dataをdeleteオペレータで削除します。そのため,user_dataをnewオペレータで生成してください。

なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。

●TSCUChar* getUserData()

項目型・意味
戻り値ユーザデータ

ユーザデータを取得します。

なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。

●TSCInt getUserDataLength()

項目型・意味
戻り値ユーザデータのサイズ

ユーザデータのサイズを取得します。

なお,このメソッドを複数のスレッド上から同時に呼び出すことはできません。

●TSCBool getUserDataRelease()

項目型・意味
戻り値リリースフラグ

ユーザデータのリリースフラグを取得します。

TSCContextの生成と削除

TSCContextのインスタンスは,newオペレータで生成しないでください。また,deleteオペレータで削除しないでください。

マルチスレッド環境でのメソッド呼び出し規則

マルチスレッド環境で,TSCContextクラスのインスタンスのメソッドを呼び出す規則を次に示します。

メソッド複数のスレッド上からの同時呼び出し
setUserDataできません。
getUserDataできません。
getUserDataLengthできません。