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

1.18.5 EventChannelFactoryインタフェース

CosNotifyChannelAdmin_EventChannelFactoryは、NotificationServiceで規定されたファクトリインタフェースです。

データ型のマッピング

当インタフェースで使用するデータ型はC言語では以下のようにマッピングされます。

typedef CORBA_long CosNotifyChannelAdmin_ChannelID;
typedef struct {
    CORBA_unsigned_long               _maximum;
    CORBA_unsigned_long               _length;
    CosNotifyChannelAdmin_ChannelID   *_buffer;
} CosNotifyChannelAdmin_ChannelIDSeq;

1.18.5.1 CosNotifyChannelAdmin_EventChannelFactory_create_channel()

名前

CosNotifyChannelAdmin_EventChannelFactory_create_channel

形式

#include  <NotificationService.h>
CosNotifyChannelAdmin_EventChannel
CosNotifyChannelAdmin_EventChannelFactory_create_channel(
              CosNotifyChannelAdmin_EventChannelFactory   obj,
              CosNotification_QoSProperties               *initial_qos,
              CosNotification_AdminProperties             *initial_admin,
              CosNotifyChannelAdmin_ChannelID             *id,
              CORBA_Environment                           *env );

機能説明

initial_qos, initial_adminで指定されたQoSプロパティ項目およびAdminプロパティ項目を持つイベントチャネルを生成し、idにイベントチャネルの識別IDを設定します。QoSプロパティ項目およびAdminプロパティ項目の詳細については、“アプリケーション作成ガイド(イベントサービス編)”の“QoS機能”を参照してください。
このメソッドはオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

obj

CORBA_ORB_resolve_initial_references()のidentifierパラメタに“NotificationService”を指定して獲得したオブジェクトリファレンス。

initial_qos

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

initial_admin

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

idoutパラメタ

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

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、イベントチャネルのオブジェクトリファレンスを返します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

ユーザ例外の場合、以下の詳細情報が設定されます。

ex_CosNotification_UnsupportedQoS

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

ex_CosNotification_UnsupportedAdmin

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

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

1.18.5.2 CosNotifyChannelAdmin_EventChannelFactory_get_all_channels()

名前

CosNotifyChannelAdmin_EventChannelFactory_get_all_channels

形式

#include  <NotificationService.h>
CosNotifyChannelAdmin_ChannelIDSeq *
CosNotifyChannelAdmin_EventChannelFactory_get_all_channels(
              CosNotifyChannelAdmin_EventChannelFactory  obj,
              CORBA_Environment                          *env );

機能説明

イベントファクトリが管理している、すべてのイベントチャネルの識別IDをシーケンス型で返します。
このメソッドはシーケンス型の領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

obj

CORBA_ORB_resolve_initial_references()のidentifierパラメタに“NotificationService”を指定して獲得したオブジェクトリファレンス。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、イベントファクトリが管理している、すべてのイベントチャネルの識別IDがシーケンス型で復帰します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

1.18.5.3 CosNotifyChannelAdmin_EventChannelFactory_get_event_channel()

名前

CosNotifyChannelAdmin_EventChannelFactory_get_event_channel

形式

#include  <NotificationService.h>
CosNotifyChannelAdmin_EventChannel
CosNotifyChannelAdmin_EventChannelFactory_get_event_channel(
              CosNotifyChannelAdmin_EventChannelFactory  obj,
              CosNotifyChannelAdmin_ChannelID            id,
              CORBA_Environment                          *env );

機能説明

idで指定された識別IDを持つイベントチャネルのオブジェクトリファレンスを返します。
このメソッドはオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

パラメタ

obj

CORBA_ORB_resolve_initial_references()のidentifierパラメタに“NotificationService”を指定して獲得したオブジェクトリファレンス。

id

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

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、idで指定された識別IDを持つイベントチャネルのオブジェクトリファレンスが復帰します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

ユーザ例外の場合、以下の詳細情報が設定されます。

ex_CosNotifyChannelAdmin_ChannelNotFound

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

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