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

4.15.4 EVENTCHANNELFACTORYインタフェース

  COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORYは、NOTIFICATIONSERVICEで規定されたファクトリインタフェースです。

4.15.4.1 COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-CREATE-CHANNEL

名前

  COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-CREATE-CHANNEL

形式

  ENVIRONMENT DIVISION.
  CONFIGURATION SECTION. 
  SPECIAL-NAMES. 
  SYMBOLIC CONSTANT
  COPY SYMBOL-CONST IN CORBA. 
  . 

  DATA DIVISION. 
  WORKING-STORAGE SECTION. 
  COPY CONST IN COSEVENTCOMM. 
  COPY CONST IN CORBA.
  01 COPY NOTIFYEVENTFACTORY IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-EVENT001 BY OBJ. 
  01 COPY QOSPROPERTIES IN COSEVENTCOMM REPLACING COSNOTIFICATION-QOSPROPERTIES BY INITIAL-QOS.
  01 COPY ADMINPROPERTIES IN COSEVENTCOMM REPLACING COSNOTIFICATION-ADMINPROPER001 BY INITIAL-ADMIN.
  01 COPY CHANNELID IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-CHANNELI BY CHNL-ID. 
  01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. 
  01 COPY NOTIFYEVENTCHANNEL IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-EVENTCHA BY EVCHNL.

  PROCEDURE DIVISION. 
  CALL "COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-CREATE-CHANNEL" USING
            OBJ
            INITIAL-QOS
            INITIAL-ADMIN
            CHNL-ID
            ENV
            EVCHNL.

機能説明

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

パラメタ

  OBJ

  CORBA-ORB-RESOLVE-INITIAL-REFERENCES関数のIDENTIFIERパラメタに“NotificationService”を指定して獲得したオブジェクトリファレンス。

  INITIAL-QOS

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

  INITIAL-ADMIN

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

  CHNL-IDoutパラメタ

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

  ENV

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

  EVCHNL

  QOSプロパティ項目およびADMINプロパティ項目を持つイベントチャネルのオブジェクトリファレンス。

復帰値

  正常終了した場合は、ENV構造体のMAJORにCORBA-NO-EXCEPTIONが設定されます。
  異常終了した場合は、ENV構造体のMAJORにCORBA-SYSTEM-EXCEPTIONまたはCORBA-USER-EXCEPTIONが設定され、ENV構造体のIDに詳細情報が設定されます。

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

  EX-COSNOTIFICATION-UNSUPPOR001

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

  EX-COSNOTIFICATION-UNSUPPOR002

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

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

4.15.4.2 COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-GET-ALL-CHANNELS

名前

  COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-GET-ALL-CHANNELS

形式

  ENVIRONMENT DIVISION.
  CONFIGURATION SECTION. 
  SPECIAL-NAMES. 
  SYMBOLIC CONSTANT
  COPY SYMBOL-CONST IN CORBA. 
  . 

  DATA DIVISION. 
  WORKING-STORAGE SECTION. 
  COPY CONST IN COSEVENTCOMM. 
  COPY CONST IN CORBA.
  01 COPY NOTIFYEVENTFACTORY IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-EVENT001 BY OBJ. 
  01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. 
  01 IDSEQ USAGE IS POINTER.

  PROCEDURE DIVISION. 
  CALL "COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-GET-ALL-CHANNELS" USING
            OBJ
            ENV
            IDSEQ.

機能説明

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

パラメタ

  OBJ

  CORBA-ORB-RESOLVE-INITIAL-REFERENCES関数のIDENTIFIERパラメタに“NotificationService”を指定して獲得したオブジェクトリファレンス。

  ENV

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

  IDSEQ

  イベントファクトリが管理している、すべてのイベントチャネルの識別IDが格納されるシーケンス型。

復帰値

  正常終了した場合は、ENV構造体のMAJORにCORBA-NO-EXCEPTIONが設定されます。
  異常終了した場合は、ENV構造体のMAJORにCORBA-SYSTEM-EXCEPTIONが設定され、ENV構造体のIDに詳細情報が設定されます。
  システム例外の場合は、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。

4.15.4.3 COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-GET-EVENT-CHANNEL

名前

  COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-GET-EVENT-CHANNEL

形式

  ENVIRONMENT DIVISION.
  CONFIGURATION SECTION. 
  SPECIAL-NAMES. 
  SYMBOLIC CONSTANT
  COPY SYMBOL-CONST IN CORBA. 
  . 

  DATA DIVISION. 
  WORKING-STORAGE SECTION. 
  COPY CONST IN COSEVENTCOMM. 
  COPY CONST IN CORBA.
  01 COPY NOTIFYEVENTFACTORY IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-EVENT001 BY OBJ. 
  01 COPY CHANNELID IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-CHANNELI BY CHNLID
  01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. 
  01 COPY NOTIFYEVENTCHANNEL IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-EVENTCHA BY EVCHNL.

  PROCEDURE DIVISION. 
  CALL "COSNOTIFYCHANNELADMIN-EVENTCHANNELFACTORY-GET-EVENT-CHANNEL" USING
            OBJ
            CHNLID
            ENV
            EVCHNL.

機能説明

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

パラメタ

  OBJ

  CORBA-ORB-RESOLVE-INITIAL-REFERENCES関数のIDENTIFIERパラメタに“NotificationService”を指定して獲得したオブジェクトリファレンス。

  CHNLID

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

  ENV

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

  EVCHNL

  CHNLIDで指定された識別IDを持つイベントチャネルのオブジェクトリファレンス。

復帰値

  正常終了した場合は、ENV構造体のMAJORにCORBA-NO-EXCEPTIONが設定されます。
  異常終了した場合は、ENV構造体のMAJORにCORBA-SYSTEMEXCEPTIONまたはCORBA-USER-EXCEPTIONが設定され、ENV構造体のIDに詳細情報が設定されます。

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

  EX-COSNOTIFYCHANNELADMIN-CHANN

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

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