ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

2.22.5 EventChannelFactoryインタフェース

CosNotifyChannelAdmin::EventChannelFactoryは、OMG-NotificationServiceで規定されたファクトリインタフェースです。NotificationService-APIを使用する場合は従来のEventFactoryインタフェースは使用できません。

2.22.5.1 CosNotifyChannelAdmin::EventChannelFactory::create_channel()

名前

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()を使用して領域を解放する必要があります。

パラメタ

initial_qos

イベントチャネルを生成するQoSプロパティ項目。

initial_admin

イベントチャネルを生成するAdminプロパティ項目。

idoutパラメタ

イベントチャネルの識別IDが設定されます。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントチャネルのオブジェクトリファレンスを返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合、以下の例外が発生します。

CosNotification::UnsupportedQoS

指定されたQoSプロパティ項目はサポートされていません。または誤りがあります。

CosNotification::UnsupportedAdmin

指定されたAdminプロパティ項目またはその値に誤りがあります。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.22.5.2 CosNotifyChannelAdmin::EventChannelFactory::get_all_channels()

名前

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

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、イベントファクトリが管理している、すべてのイベントチャネルの識別IDがシーケンス型で返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクトのオブジェクトリファレンスが設定されます。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。

2.22.5.3 CosNotifyChannelAdmin::EventChannelFactory::get_event_channel()

名前

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

取得するイベントチャネルの識別ID。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、envのexceptionメンバにNULLオブジェクトリファレンスが設定され、idで指定された識別IDを持つイベントチャネルのオブジェクトリファレンスを返します。
異常終了した場合は、envのexceptionメンバにSystemExceptionオブジェクト、またはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。

ユーザ例外の場合、以下の例外が発生します。

CosNotifyChannelAdmin::ChannelNotFound

指定されたチャネルは存在しません。

システム例外の場合、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、発生したシステム例外およびマイナーコードに対する対処を行ってください。