TSCObject(COBOL)

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

TSCObjectはABC_TSCimplの基底クラスです。各副プログラムはABC_TSCimplのインスタンスに対して発行します。したがって,各副プログラムの第1引数(OBJECT-PTR)には,ユーザ定義IDLインタフェース依存クラス(ABC_TSCimpl)のポインタを指定してください。

TSCObjectは,OTMでの(サーバ)オブジェクトの基本クラスおよびインタフェースです。

ユーザはTSCObjectを継承させて,クライアント側にサービスを提供するクラスを定義します。また,サービスを提供するオブジェクトとして,その派生クラスのインスタンスを生成します。次にTSCObjectの特徴を示します。

TSCObjectが提供するサービスのインタフェース名称

TSCObjectが提供するインタフェースの種類は,TSCAcceptorのインタフェース名称の列で表されます。

TSCObjectが単数のインタフェースを提供する場合,提供するインタフェースの種類は,単数のインタフェース名称で表されます。

TSCObjectが複数のインタフェースを提供する場合,例えば,ユーザ定義IDLインタフェースで継承を利用した場合は,複数のインタフェース名称が列で表されます。

TSCObjectの呼び出し時のTSCContextの取得

TSCProxyObjectを使用してクライアント側からTSCObjectの副プログラムを呼び出すときに,ユーザは引数以外のデータをTSCContextとして送信できます。クライアント側引数以外のデータをTSCContextとして送信すると,サーバ側ではTSCObjectのサービス提供副プログラムが呼び出されている間にTSCObject-TSCContextGetを呼び出すことによって,クライアント側で指定したTSCContextを取得できます。

TSCObjectの呼び出し時のTSCThreadの取得

TSCObjectの呼び出し時のTSCThreadの取得は,TSCThreadFactoryを引数としてTSCRootAcceptorを生成する場合を前提にします。この場合,サーバ側でTSCObjectのサービス提供副プログラムが呼び出されている間にTSCObject-TSCThreadGetを呼び出すことによって,実行制御を持つスレッドに割り付けられているTSCThreadを取得できます。

形式

CALL 'TSCObject-TSCContextGet' USING
           BY VALUE       OBJECT-PTR
           BY REFERENCE   CORBA-ENVIRONMENT
        RETURNING         CONTEXT-PTR.

* TSCクライアント情報
CALL 'TSCObject-TSCThreadGet' USING
           BY VALUE       OBJECT-PTR
           BY REFERENCE   CORBA-ENVIRONMENT
        RETURNING         THREAD-PTR.

副プログラム

●CALL 'TSCObject-TSCContextGet' USING

           BY VALUE         OBJECT-PTR
           BY REFERENCE     CORBA-ENVIRONMENT
        RETURNING           CONTEXT-PTR.

項目型・(入出力の区別)意味
引数BY VALUE OBJECT-PTR USAGE POINTER(入力)ABC_TSCimplのポインタ
BY REFERENCE CORBA-ENVIRONMENT(出力)例外情報集団項目
戻り値CONTEXT-PTR USAGE POINTERTSCContextのポインタ
例外TSCBadParamException

クライアント側から呼び出すときに指定されたTSCContextを取得します。クライアント側から呼び出すときにTSCContextを指定しない場合は,NULLを返します。

●CALL 'TSCObject-TSCThreadGet' USING

           BY VALUE          OBJECT-PTR
           BY REFERENCE      CORBA-ENVIRONMENT
        RETURNING            THREAD-PTR.

項目型・(入出力の区別)意味
引数BY VALUE OBJECT-PTR USAGE POINTER(入力)ABC_TSCimplのポインタ
BY REFERENCE CORBA-ENVIRONMENT(出力)例外情報集団項目
戻り値THREAD-PTR USAGE POINTERTSCユーザスレッドのポインタ
例外TSCBadParamException

現在,実行制御を持つスレッドのTSCユーザスレッドを返します。

マルチスレッド環境での副プログラム呼び出し規則

マルチスレッド環境で,TSCObjectクラスのインスタンスの副プログラムを呼び出す規則を次に示します。

副プログラム複数のスレッド上からの同時呼び出し
_TSCInterfaceNameできません。
_TSCContextできません。
_TSCThreadできません。
クライアント側からのオブジェクト呼び出しできません。
注※
このメソッドはOTMが呼び出します。