| Interstage Application Server アプリケーション作成ガイド (イベントサービス編) |
目次
索引
![]()
|
| 第5章 アプリケーションの開発(C言語) |
[C言語によるMixedモデルのローカルトランザクションのサプライヤ]
CORBA_Boolean func() {
...
util = CosNotifyChannelAdmin_EventChannel_create_util(
object, CosNotifyChannelAdmin_EventChannel_CHANNEL_UTIL, &env); /* 1 */
supplier = CosNotifyChannelAdmin_EventChannel_get_default_supplier_admin(
object, &env); /* 2 */
proxy_push =
CosNotifyChannelAdmin_SupplierAdmin_obtain_notification_push_consumer(
supplier,ctype,&proxy_id, &env); /* 3 */
CosNotifyChannelAdmin_StructuredProxyPushConsumer_connect_structured_push_supplier(
proxy_push, CORBA_OBJECT_NIL, &env); /* 4 */
ES_ChannelUtil_local_begin(util, proxy_push, &env ); /* 5 */
CosNotifyChannelAdmin_StructuredProxyPushConsumer_push_structured_event(
proxy_push, data, &env ); /* 6 */
ES_ChannelUtil_local_commit( util, proxy_push, &env ); /* 7 */
CosNotifyChannelAdmin_StructuredProxyPushConsumer_disconnect_structured_push_consumer(
proxy_push, &env ); /* 8 */
...
}
接続するイベントチャネルのオブジェクトリファレンスを不揮発媒体に保存している場合は、2, 3, 4, 8の処理は不要となります。
[C言語によるMixedモデルのローカルトランザクションのコンシューマ]
CORBA_Boolean func() {
...
util=CosNotifyChannelAdmin_EventChannel_create_util(
object,CosNotifyChannelAdmin_EventChannel_CHANNEL_UTIL, &env ); /* 1 */
consumer = CosNotifyChannelAdmin_EventChannel_get_default_consumer_admin(
object, &env ); /* 2 */
proxy_pull =
CosNotifyChannelAdmin_ConsumerAdmin_obtain_notification_pull_supplier(
consumer,ctype,&proxyID,&env ); /* 3 */
CosNotifyChannelAdmin_StructuredProxyPullSupplier_connect_structured_pull_consumer(
proxy_pull, CORBA_OBJECT_NIL,&proxyID,&env); /* 4 */
ES_ChannelUtil_local_begin(util, proxy_push, &env ); /* 5 */
data = CosNotifyChannelAdmin_StructuredProxyPullSupplier_pull_structured_event (
proxy_pull, &env ); /* 6 */
ES_ChannelUtil_local_commit( util, proxy_push, &env ); /* 7 */
CosNotifyChannelAdmin_StructuredProxyPullSupplier_disconnect_structured_pull_
supplier (proxy_pull, &env ); /* 8 */
...
}
接続するイベントチャネルのオブジェクトリファレンスを不揮発媒体に保存している場合は、2, 3, 4, 8の処理は不要となります。
目次
索引
![]()
|