27.2.2 ClientRequestInfoのメソッド
-
virtual CORBA::Object_ptr target() = 0;
このメソッドは,クライアントがオペレーションを実行するために呼び出したオブジェクトを返します。effective_target()メソッドも参照してください。
-
virtual CORBA::Object_ptr effective_target () = 0;
このメソッドは,実際のオペレーション呼び出し元オブジェクトを返します。reply_status()がLOCATION_FORWARDを返す場合,後続のリクエストに対してtargetが返す内容は変わりませんが,effective_targetは,フォワードされたIORを返します。
-
virtual IOP::TaggedProfile* effective_profile() = 0;
このメソッドは,IOP::TaggedProfileの形式でプロファイルを返します。返されたプロファイルは,リクエストの送信に使用されます。このオペレーションのオブジェクトにロケーションフォワードが発生し,そのオブジェクトのプロファイルが変更された場合,このプロファイルが探索結果のプロファイルとなります。
-
virtual CORBA::Any* received_exception() = 0;
このメソッドは,クライアントに返される例外を格納するデータをCORBA::Anyの形式で返します。
CORBA::Anyに挿入できないユーザ例外の場合,例えば,未知の例外やバインディングでTypeCodeが提供されない場合などは,この属性は,標準マイナーコード1のUNKNOWNシステム例外を格納するCORBA::Anyとなります。ただし,この例外のRepositoryIdは,received_exception_id属性に使用できます。
-
virtual char* received_exception_id() = 0;
このメソッドは,クライアントに返されるreceived_exceptionのIDを返します。
-
virtual IOP::TaggedComponent* get_effective_component(
CORBA::ULong _id) = 0;
このメソッドは,リクエストに対して選択されたプロファイルに指定されたIDを持つIOP::TaggedComponentを返します。
指定されたIDのコンポーネントが複数ある場合に,どのコンポーネントを返すかは定義されていません。指定されたIDのコンポーネントが複数ある場合は,このメソッドの代わりにget_effective_components()が呼び出されます。指定されたIDのコンポーネントがない場合は,標準マイナーコード28のBAD_PARAM例外が発生します。
-
_id
返されるコンポーネントのID
-
-
virtual IOP::TaggedComponentSeq* get_effective_components(
CORBA::ULong _id) = 0;
このメソッドは,リクエストに対して選択されたプロファイルに指定されたIDを持つタグ付きコンポーネントをすべて返します。IOP::TaggedComponentSeqの形式で返されます。指定されたIDのコンポーネントがない場合は,標準マイナーコード28のBAD_PARAM例外が発生します。
-
_id
返されるコンポーネントのID
-
-
virtual CORBA::Policy_ptr get_request_policy(
CORBA::ULong _type) = 0;
このメソッドは,オペレーションに対して有効な所定のポリシーを返します。指定した型にORBが対応していない,または指定した型のポリシーオブジェクトがこのオブジェクトに対応づけられていないために,ポリシーの型が無効となる場合は,標準マイナーコード2のINV_POLICY例外が発生します。
-
_type
返されるポリシーを指定するポリシーの型
-
-
virtual void add_request_service_context(
const IOP::ServiceContext& _service_context,
CORBA::Boolean _replace) = 0;
このメソッドを使用すると,インタセプタで一つ以上のサービスコンテキストをリクエストに登録できます。サービスコンテキストの順序の宣言はありません。登録された順序でサービスコンテキストが表示される場合も,されない場合もあります。
-
_service_context
リクエストに登録するIOP::ServiceContext
-
_replace
指定したIDのサービスコンテキストがすでに存在する場合のメソッドの動作。falseの場合は,標準マイナーコード15のBAD_INV_ORDER例外が発生します。trueの場合は,既存のコンテキストが新しいコンテキストに置き換えられます。
-