CosNotifyChannelAdmin::EventChannelFactoryは、OMG-NotificationServiceで規定されたファクトリインタフェースです。NotificationService-APIを使用する場合は従来のEventFactoryインタフェースは使用できません。
名前
CosNotifyChannelAdmin::EventChannelFactory::create_channel
形式
#include <NotificationService_cplus.h> CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::EventChannelFactory::create_channel( const CosNotification::QoSProperties& initial_qos, const CosNotification::AdminProperties& initial_admin, CosNotifyChannelAdmin::ChannelID& id, CORBA::Environment& env ); throw( CORBA::Exception );
機能説明
initial_qos, initial_adminで指定されたQoSプロパティ項目およびAdminプロパティ項目を持つイベントチャネルを生成し、idにイベントチャネルの識別IDを設定します。QoSプロパティ項目およびAdminプロパティ項目の詳細については、“アプリケーション作成ガイド(イベントサービス編)”の“QoS機能”を参照してください。
ファクトリのオブジェクトリファレンスは、CORBA::ORB::resolve_initial_references()メソッドのidentifierパラメタに“NotificationService”を指定して獲得します。
このメソッドはオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。
パラメタ
イベントチャネルを生成するQoSプロパティ項目。
イベントチャネルを生成するAdminプロパティ項目。
イベントチャネルの識別IDが設定されます。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルのオブジェクトリファレンスを返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合、以下の例外が発生します。
指定されたQoSプロパティ項目はサポートされていません。または誤りがあります。
指定されたAdminプロパティ項目またはその値に誤りがあります。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
CosNotifyChannelAdmin::EventChannelFactory::get_all_channels
形式
#include <NotificationService_cplus.h> CosNotifyChannelAdmin::ChannelIDSeq * CosNotifyChannelAdmin::EventChannelFactory::get_all_channels( CORBA::Environment& env ); throw( CORBA::Exception );
機能説明
イベントファクトリが管理している、すべてのイベントチャネルの識別IDをシーケンス型で返します。
このメソッドはシーケンス型の領域を獲得するため、この領域が不要になった時点で、deleteを使用して領域を解放する必要があります。
パラメタ
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントファクトリが管理している、すべてのイベントチャネルの識別IDがシーケンス型で返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。
名前
CosNotifyChannelAdmin::EventChannelFactory::get_event_channel
形式
#include <NotificationService_cplus.h> CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::EventChannelFactory::get_event_channel( CosNotifyChannelAdmin::ChannelID id, CORBA::Environment& env ); throw( CORBA::Exception );
機能説明
idで指定された識別IDを持つイベントチャネルのオブジェクトリファレンスを返します。
このメソッドはオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。
パラメタ
取得するイベントチャネルの識別ID。
例外情報が格納される構造体。
復帰値
正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、idで指定された識別IDを持つイベントチャネルのオブジェクトリファレンスを返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。
ユーザ例外の場合、以下の例外が発生します。
指定されたチャネルは存在しません。
システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。