bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo CORBA 要求レベルのインターセプタ > 要求レベルのインターセプタの API |
Tuxedo CORBA 要求レベルのインターセプタ
|
ClientRequestInterceptor::client_response
概要
RequestLevelInterceptor::ClientRequestInterceptor インターフェイスをサポートするインターセプタのインプリメンテーションに対して呼び出されます。
C++ バインディング
virtual Interceptors::ResponseReturnStatus
client_response(
const ReplyContext & reply_context,
ServiceContextList_ptr service_context,
CORBA::DataInputStream_ptr arg_stream,
CORBA::Exception_ptr & excep_val ) = 0;
パラメータ
例外
特にありません。
説明
client_response オペレーションは、RequestLevelInterceptor::ClientRequestInterceptor インターフェイスをサポートするインターセプタのインプリメンテーションに対して呼び出されます。このオペレーションは、イニシエータがターゲット・オブジェクトと異なるアドレス領域にあるか、同じアドレス領域にあるかに関係なく、呼び出しへの応答が要求のイニシエータによって受信されると ORB によって呼び出されます。
戻り値
RequestLevelInterceptor::
TargetRequestInterceptor インターフェイス
すべての要求レベルのインターセプタの基本インターフェイスです。これは RequestLevelInterceptor::RequestInterceptor インターフェイスから直接継承されます。このインターフェイスには、ターゲット側のすべての要求レベルのインターセプタでサポートされる、オペレーションおよび属性のセットが含まれます。
コード リスト 8-7 OMG IDL 定義
// ファイル: RequestLevelInterceptor.idl
#ifndef _REQUEST_LEVEL_INTERCEPTOR_IDL
#define _REQUEST_LEVEL_INTERCEPTOR_IDL
#include <orb.idl>
#include <Giop.idl>
#include <Interceptors.idl>
#pragma prefix “beasys.com”
module RequestLevelInterceptor
{
local TargetRequestInterceptor : RequestInterceptor
{
InvokeReturnStatus
target_invoke(
in RequestContext request_context,
in ServiceContextList service_context,
in CORBA::DataInputStream request_arg_stream,
in CORBA::DataOutputStream reply_arg_stream,
out ExceptionValue excep_val
);
ResponseReturnStatus
target_response(
in ReplyContext reply_context,
in ServiceContextList service_context,
in CORBA::DataInputStream arg_stream,
out ExceptionValue excep_val
);
};
};
#endif /* _REQUEST_LEVEL_INTERCEPTOR_IDL */
オペレーション _duplicate、_narrow、および _nil のインプリメンテーションは、BEA Tuxedo 製品内の CORBA ORB によって提供される、 CORBA::LocalBase インターフェイスのインプリメンテーションから間接的に継承されます。
コード リスト 8-8 C++ 宣言
#ifndef _RequestLevelInterceptor_h
#define _RequestLevelInterceptor_h
#include <CORBA.h>
#include <IOP.h>
#include <GIOP.h>
#include <Interceptors.h>
class OBBEXPDLL RequestLevelInterceptor
{
public:
class TargetRequestInterceptor;
typedef TargetRequestInterceptor *
TargetRequestInterceptor_ptr;
class OBBEXPDLL TargetRequestInterceptor :
public virtual RequestInterceptor
{
public:
static TargetRequestInterceptor_ptr
_duplicate(TargetRequestInterceptor_ptr obj);
static TargetRequestInterceptor_ptr
_narrow(TargetRequestInterceptor_ptr obj);
inline static TargetRequestInterceptor_ptr
_nil() { return 0; }
virtual Interceptors::InvokeReturnStatus target_invoke(
const RequestContext & request_context,
ServiceContextList_ptr service_context,
CORBA::DataInputStream_ptr request_arg_stream,
CORBA::DataOutputStream_ptr reply_arg_stream,
CORBA::Exception_ptr & excep_val ) = 0;
virtual Interceptors::ResponseReturnStatus
target_response(
const ReplyContext & reply_context,
ServiceContextList_ptr service_context,
CORBA::DataInputStream_ptr arg_stream,
CORBA::Exception_ptr & excep_val ) = 0;
protected:
TargetRequestInterceptor(CORBA::LocalBase_ptr obj = 0) { }
virtual ~TargetRequestInterceptor(){ }
private:
TargetRequestInterceptor( const TargetRequestInterceptor&)
{ }
void operator=(const TargetRequestInterceptor&) { }
}; //クラス TargetRequestInterceptor
};
#endif /* _RequestLevelInterceptor_h */
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |