27.20.2 ServerRequestInfoのメソッド
-
virtual CORBA::Any* sending_exception() = 0;
このメソッドは,クライアントに返される例外を格納するデータをCORBA::Anyの形式で返します。
CORBA::Anyに挿入できないユーザ例外の場合,例えば,未知の例外やバインディングでTypeCodeが提供されない場合などは,この属性は,標準マイナーコード1のUNKNOWNシステム例外を格納するCORBA::Anyとなります。
-
virtual CORBA::OctetSequence* object_id() = 0;
このメソッドは,オペレーション呼び出しのターゲットを表す不透明なobject_idをCORBA::OctetSequenceの形式で返します。
-
virtual CORBA::OctetSequence* adapter_id() = 0;
このメソッドは,オブジェクトアダプタの不透明な識別子をCORBA::OctetSequenceの形式で返します。
-
virtual char* target_most_derived_interface() = 0;
このメソッドは,サーバントの派生したインタフェースのRepositoryIDを返します。
-
virtual CORBA::Policy_ptr get_server_policy(
CORBA::ULong _type) = 0;
このメソッドは,オペレーションに対して有効なポリシーのうち,指定したポリシー型を持つポリシーを返します。register_policy_factoryで登録された型を持つポリシーだけが,CORBA::Policyオブジェクトとして返されます。
指定した型のポリシーがregister_policy_factoryで登録されていない場合は,標準マイナーコード3のINV_POLICY例外が発生します。詳細については,「27.15.3 ORBInitInfoのメソッド」のregister_policy_factory()メソッドを参照してください。
-
_type
取得するポリシーを指定するCORBA::PolicyType
-
-
CORBA::ULong _id, const CORBA::Any& _data) = 0;
このメソッドを使用すると,インタセプタでリクエストのスコープ内のPortableInterceptor::Currentのスロットにデータを設定できます。スロットにすでにデータが設定されている場合,既存データは上書きされます。割り当てられていないスロットを表すIDを指定した場合は,InvalidSlot例外が発生します。スロットとPortableInterceptor::Currentの詳細については,「27.6 Current」を参照してください。
-
_id
スロットのSlotId
-
_data
指定したスロットに設定する,CORBA::Anyオブジェクト形式のデータ
-
-
virtual CORBA::Boolean target_is_a(
const char* _id) = 0;
このメソッドは,指定したRepositoryIdがサーバントの場合はtrueを返し,そうでない場合はfalseを返します。
-
_id
サーバントがこのCORBA::RepositoryIdであるかどうかを呼び出し元が調べます。
-
-
virtual void add_reply_service_context(
const IOP::ServiceContext&_service_context,
CORBA::Boolean _replace) = 0;
このメソッドを使用すると,インタセプタでサービスコンテキストを応答に登録できます。
サービスコンテキストの順序の宣言はありません。登録された順序でサービスコンテキストが表示される場合も,されない場合もあります。
-
_service_context
応答に登録するIOP::ServiceContext
-
_replace
指定したIDのサービスコンテキストがすでに存在する場合のメソッドの動作。falseの場合は,標準マイナーコード15のBAD_INV_ORDER例外が発生します。trueの場合は,既存のコンテキストが新しいコンテキストに置き換えられます。
-