Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド
インタフェース定義を次に示します。
module EventQueue { // Connection event types enum EventType {UNDEFINED, CONN_EVENT_TYPE}; // Peer (Client)connection info struct ConnInfo { string ipaddress; // in %d.%d.%d.%d format long port; long connID; }; // Marker interface for all types of event listeners local interface EventListener {}; typedef sequence<EventListener> EventListeners; // connection event listener interface local interface ConnEventListener : EventListener{ void conn_established(in ConnInfo info); void conn_closed(in ConnInfo info); }; // The EventQueue manager local interface EventQueueManager : interceptor::InterceptorManager { void register_listener(in EventListener listener, in EventType type); void unregister_listener(in EventListener listener, in EventType type); EventListeners get_listeners(in EventType type); }; };
インタフェース定義の詳細を以降で説明します。
ConnInfo構造体には次のようなクライアントコネクション情報があります。
EventListenerインタフェースの部分は,すべてのタイプのイベントリスナーのマーカーインタフェースです。
ConnEventListenersインタフェースは次のように二つのオペレーションを定義します。
このオペレーションはVisiBroker ORBによってコールバックされ,コネクション設定イベントをプッシュします。VisiBroker ORBはin ConnInfo infoパラメタにクライアントコネクション情報を与えて,この値をコールバックオペレーションに渡します。
このオペレーションはVisiBroker ORBによってコールバックされ,コネクションクローズイベントをプッシュします。VisiBroker ORBはin ConnInfo infoパラメタにクライアントコネクション情報を与えて,この値をコールバックオペレーションに渡します。
サーバ側アプリケーションは,リスナーにプッシュされているイベントの処理と同様,ConnEventListenerインタフェースのインプリメンテーションにも責任があります。
EventQueueManagerインタフェースは,イベントリスナーの登録に関するサーバ側インプリメンテーションによってハンドルとして使用されます。このインタフェースは次のように三つのオペレーションを定義します。
All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.