bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA 要求レベルのインターセプタ

 Previous Next Contents Index View as PDF  

AppRequestInterceptorInit

概要

クライアント側およびターゲット側のインターセプタをインスタンス化および初期化します。

C++ バインディング

typedef void (*AppRequestInterceptorInit)(
CORBA::ORB_ptr TheORB,
RequestLevelInterceptor::ClientRequestInterceptor ** ClientPtr,
RequestLevelInterceptor::TargetRequestInterceptor ** TargetPtr,
CORBA::Boolean * RetStatus);

パラメータ

TheORB

インターセプタのインプリメンテーションが関連付けられた ORB オブジェクトへのポインタです。

ClientPtr

ORB で使用するためにインスタンス化された RequestLevelInterceptor::ClientRequestInterceptor のインスタンスへのポインタが返される、ポインタです。

TargetPtr

ORB で使用するためにインスタンス化された RequestLevelInterceptor::TargetRequestInterceptor のインスタンスへのポインタが返される、ポインタです。

RetStatus

インターセプタのインスタンス化と初期化が正常に実行されたかどうかが、インターセプタのインプリメンテーションによって示される、場所へのポインタです。CORBA::TRUE の値は、インターセプタのインスタンス化と初期化が正常に実行されたことを示すために使用されます。CORBA::FALSE の値は、インターセプタのインスタンス化と初期化が、何らかの理由により正常に実行されなかったことを示すために使用されます。

例外

特にありません。

説明

AppRequestInterceptorInit 関数は、クライアント側およびターゲット側のインターセプタをインスタンス化および初期化するために ORB によって使用される、ユーザ指定の関数です。

戻り値

特にありません。

 


CORBA::DataInputStream Interface

DataInputStream に適用される、IDL 中の abstract valuetype キーワードは、それがインターフェイスと同じでないことを示します。

コード リスト 8-9 OMG IDL 定義

module CORBA  {
//...ほかのすべて

// DataInputStream で使用される定義
typedef sequence<any> AnySeq;
typedef sequence<boolean> BooleanSeq;
typedef sequence<char> CharSeq;
typedef sequence<octet> OctetSeq;
typedef sequence<short> ShortSeq;
typedef sequence<unsigned short> UShortSeq;
typedef sequence<long> LongSeq;
typedef sequence<unsigned long> ULongSeq;
typedef sequence<float> FloatSeq;
typedef sequence<double> DoubleSeq;

// DataInputStream - ストリームからのデータの読み込みに使用する
abstract valuetype DataInputStream
{
any read_any(); // NO_IMPLEMENT を発生する
boolean read_boolean();
char read_char();
octet read_octet();
short read_short();
unsigned short read_ushort();
long read_long();
unsigned long read_ulong();
float read_float();
double read_double();
string read_string ();
Object read_Object();
TypeCode read_TypeCode();
void read_any_array( inout AnySeq seq,
in unsigned long offset,
in unsigned long length);
// NO_IMPLEMENT を発生する
void read_boolean_array(inout BooleanSeq seq,
in unsigned long offset,
in unsigned long length);
void read_char_array( inout CharSeq seq,
in unsigned long offset,
in unsigned long length);
void read_octet_array(inout OctetSeq seq,
in unsigned long offset,
in unsigned long length);
void read_short_array(inout ShortSeq seq,
in unsigned long offset,
in unsigned long length);
void read_ushort_array(inout UShortSeq seq,
in unsigned long offset,
in unsigned long length);
void read_long_array( inout LongSeq seq,
in unsigned long offset,
in unsigned long length);
void read_ulong_array(inout ULongSeq seq,
in unsigned long offset,
in unsigned long length);
void read_float_array(inout FloatSeq seq,
in unsigned long offset,
in unsigned long length);
void read_double_array(inout DoubleSeq seq,
in unsigned long offset,
in unsigned long length);
};
};

CORBA::DataInputStream のインプリメンテーションは、CORBA::Object ではなく CORBA::ValueBase から継承されます。たとえば、_duplicate_narrow、および_nil の各オペレーションは、CORBA::Object にのみ適用されるため、使用できません。このとき、CORBA::ValueBase インターフェイスには、ユーザの関心の対象となるものはありません。

コード リスト 8-10 C++ 宣言

class  CORBA
{
public:

class AnySeq {/* Normal sequence definition */};
typedef AnySeq * AnySeq_ptr;

class BooleanSeq {/* Normal sequence definition */};
typedef BooleanSeq * BooleanSeq_ptr;
static const CORBA::TypeCode_ptr _tc_BooleanSeq;

class CharSeq {/* Normal sequence definition */};
typedef CharSeq * CharSeq_ptr;
static const CORBA::TypeCode_ptr _tc_CharSeq;

class OctetSeq {/* Normal sequence definition */};
typedef OctetSeq * OctetSeq_ptr;
static const CORBA::TypeCode_ptr _tc_OctetSeq;

class ShortSeq {/* Normal sequence definition */};
typedef ShortSeq * ShortSeq_ptr;
static const CORBA::TypeCode_ptr _tc_ShortSeq;

class UshortSeq {/* Normal sequence definition */};
typedef UShortSeq * UShortSeq_ptr;
static const CORBA::TypeCode_ptr _tc_UShortSeq;

class LongSeq {/* Normal sequence definition */};
  typedef    LongSeq *    LongSeq_ptr;
static const CORBA::TypeCode_ptr _tc_LongSeq;

class UlongSeq {/* Normal sequence definition */};
typedef ULongSeq * ULongSeq_ptr;
static const CORBA::TypeCode_ptr _tc_ULongSeq;

class FloatSeq {/* Normal sequence definition */};
typedef FloatSeq * FloatSeq_ptr;
static const CORBA::TypeCode_ptr _tc_FloatSeq;

class DoubleSeq {/* Normal sequence definition */};
typedef DoubleSeq * DoubleSeq_ptr;
static const CORBA::TypeCode_ptr _tc_DoubleSeq;
  class OBBEXPDLL DataInputStream : public virtual ValueBase
{
public:
static DataInputStream_ptr _downcast(ValueBase_ptr obj);

virtual Any * read_any (); // NO_IMPLEMENT を発生する
virtual Boolean read_boolean ();
virtual Char read_char ();
virtual Octet read_octet ();
virtual Short read_short ();
virtual UShort read_ushort ();
virtual Long read_long ();
virtual ULong read_ulong ();
virtual Float read_float ();
virtual Double read_double ();
virtual Char * read_string ();
virtual Object_ptr read_Object ();
virtual TypeCode_ptr read_TypeCode ();

virtual void read_any_array ( AnySeq & seq,
ULong offset, ULong length);
// NO_IMPLEMENT を発生する
virtual void read_boolean_array(BooleanSeq & seq,
ULong offset, ULong length);
virtual void read_char_array ( CharSeq & seq,
ULong offset, ULong length);
virtual void read_octet_array ( OctetSeq & seq,
ULong offset, ULong length);
virtual void read_short_array ( ShortSeq & seq,
ULong offset, ULong length);
virtual void read_ushort_array (UShortSeq & seq,
ULong offset, ULong length);
virtual void read_long_array ( LongSeq & seq,
ULong offset, ULong length);
virtual void read_ulong_array ( ULongSeq & seq,
ULong offset, ULong length);
virtual void read_float_array ( FloatSeq & seq,
ULong offset, ULong length);
virtual void read_double_array (DoubleSeq & seq,
ULong offset, ULong length);

protected:
DataInputStream(){ };
virtual ~DataInputStream(){ }

private:
void operator=(const DataInputStream&) { }
};

typedef    DataInputStream *    DataInputStream_ptr;
};

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy