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

1.18.3 CosNotifyCommインタフェース

1.18.3.1 CosNotifyComm_StructuredPushConsumer_push_structured_event()

名前

CosNotifyComm_StructuredPushConsumer_push_structured_event

形式

#include  <NotificationService.h>
void
CosNotifyComm_StructuredPushConsumer_push_structured_event(
              CosNotifyComm_StructuredPushConsumer  obj,
              CosNotification_StructuredEvent       *data,
              CORBA_Environment                     *env );

機能説明

dataで指定されたStructuredEvent型のイベントデータをコンシューマに送信します。

パラメタ

obj

CosNotifyChannelAdmin_SupplierAdmin_obtain_notification_push_consumer()が返すオブジェクトリファレンス。

data

コンシューマに送信するStructuredEvent型のイベントデータ。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

ex_CosEventComm_Disconnected

イベントチャネルに接続されていません。
イベントチャネル生成時にコネクション情報を自動回収する処理を有効とした場合(esmkchnlコマンド実行時に-autodisconオプションを指定した場合)は、CORBAサービスのクライアント側無通信監視時間超過によりコネクションが切断された可能性があります。継続して通信する場合は、イベントチャネルへの接続から行ってください。

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

1.18.3.2 CosNotifyComm_StructuredPullSupplier_pull_structured_event()

名前

CosNotifyComm_StructuredPullSupplier_pull_structured_event

形式

#include  <NotificationService.h>
CosNotification_StructuredEvent *
CosNotifyComm_StructuredPullSupplier_pull_structured_event (
            CosNotifyComm_StructuredPullSupplier  obj,
            CORBA_Environment                     *env );

機能説明

サプライヤにStructuredEvent型のイベントデータを要求します。イベントデータの取り出しが可能になるか、または例外が発生するまでブロックされます。なお、イベントデータを取り出せない場合に即時復帰したい場合は、CosNotifyComm_StructuredPullSupplier_try_pull_structured_eventを使用してください。
取り出したStructuredEvent型のイベントデータは、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

obj

CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()が返すオブジェクトリファレンス。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定され、サプライヤからのイベントデータが復帰します。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

ex_CosEventComm_Disconnected

イベントチャネルに接続されていません。
イベントチャネル生成時にコネクション情報を自動回収する処理を有効とした場合(esmkchnlコマンド実行時に-autodisconオプションを指定した場合)は、CORBAサービスのクライアント側無通信監視時間超過によりコネクションが切断された可能性があります。継続して通信する場合は、イベントチャネルへの接続から行ってください。

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

1.18.3.3 CosNotifyComm_StructuredPullSupplier_try_pull_structured_event()

名前

CosNotifyComm_StructuredPullSupplier_try_pull_structured_event

形式

#include  <NotificationService.h>
CosNotification_StructuredEvent *
CosNotifyComm_StructuredPullSupplier_try_pull_structured_event (
              CosNotifyComm_StructuredPullSupplier  obj,
              CORBA_boolean                         *has_event, 
              CORBA_Environment                     *env );

機能説明

サプライヤにStructuredEvent型のイベントデータを要求します。サプライヤからイベントデータを取り出せない場合は、即座に復帰します。なお、イベントデータを取り出せるまでブロックしたい場合には、CosNotifyComm_StructuredPullSupplier_pull_structured_event()を使用してください。
取り出したStructuredEvent型のイベントデータは、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

obj

CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()が返すオブジェクトリファレンス。

has_eventoutパラメタ

イベントデータを取り出せた場合は、CORBA_TRUEが設定されます。
イベントデータを取り出せなかった場合は、CORBA_FALSEが設定されます。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。イベントデータを取り出せた場合は、has_eventにCORBA_TRUEが設定され、サプライヤからのイベントデータが復帰します。イベントデータを取り出せなかった場合には、has_eventにCORBA_FALSEが設定されます。この場合も空のStructuredEvent型のイベントデータの領域が獲得されるので、取り出したStructuredEvent型のイベントデータの領域は、CORBA_free()を使用して領域を解放する必要があります。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

ex_CosEventComm_Disconnected

イベントチャネルに接続されていません。
イベントチャネル生成時にコネクション情報を自動回収する処理を有効とした場合(esmkchnlコマンド実行時に-autodisconオプションを指定した場合)は、CORBAサービスのクライアント側無通信監視時間超過によりコネクションが切断された可能性があります。継続して通信する場合は、イベントチャネルへの接続から行ってください。

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

注意事項

ローカルトランザクション運用中に、has_eventにCORBA_FALSEが設定された場合は、ES_ChannelUtil_local_rollback()によりキャンセルを通知する必要はありません。ES_ChannelUtil_local_commit()により完了を通知してください。
グローバルトランザクション運用中に、has_eventにCORBA_FALSEが設定された場合は、CosTransactions_Current_rollback()によりキャンセルを通知する必要はありません。CosTransactions_Current_commit()により完了を通知してください。

1.18.3.4 CosNotifyComm_StructuredPushConsumer_disconnect_structured_push_consumer()

名前

CosNotifyComm_StructuredPushConsumer_disconnect_structured_push_consumer

形式

#include  <NotificationService.h>
void
CosNotifyComm_StructuredPushConsumer_disconnect_structured_push_consumer (
              CosNotifyChannelAdmin_StructuredProxyPushConsumer  obj,
              CORBA_Environment                                   *env );

機能説明

サプライヤからイベント通信の終了を宣言します。

パラメタ

obj

CosNotifyChannelAdmin_SupplierAdmin_obtain_notification_push_consumer()が返すオブジェクトリファレンス。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

1.18.3.5 CosNotifyComm_StructuredPullSupplier_disconnect_structured_pull_supplier()

名前

CosNotifyComm_StructuredPullSupplier_disconnect_structured_pull_supplier

形式

#include  <NotificationService.h>
void
CosNotifyComm_StructuredPullSupplier_disconnect_structured_pull_supplier (
              CosNotifyChannelAdmin_StructuredProxyPullSupplier  obj,
              CORBA_Environment                                   *env );

機能説明

コンシューマからイベント通信の終了を宣言します。

パラメタ

obj

CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier()が返すオブジェクトリファレンス。

env

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

復帰値

正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

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

1.18.3.6 継承されて使用できるインタフェース

以下のインタフェースを継承して使用することができます。詳細については、“1.17.1 CosEventCommインタフェース”を参照してください。

  1. CosNotifyComm_PushConsumer_push

  2. CosNotifyComm_PushConsumer_disconnect_push_consumer

  3. CosNotifyComm_PullSupplier_pull

  4. CosNotifyComm_PullSupplier_try_pull

  5. CosNotifyComm_PullSupplier_disconnect_pull_supplier