イベントプロバイダは、EventProvider インタフェースを実装する必要があります。CIM Object Manager は、このインタフェースのメソッドを使って、クライアントが CIM イベントのインジケーションを予約したり、CIM イベントの予約を取り消したことをプロバイダに知らせます。さらにこれらのメソッドによって、プロバイダは、CIM Object Manager が特定のイベントインジケーションのポーリングを行うべきかどうか、インジケーションをハンドラに返すことを承認するかどうかを指定します。
次の表に、イベントプロバイダが実行しなければならない EventProvider インタフェースのメソッドを示します。
表 6–3 EventProvider インタフェースのメソッド
メソッド |
説明 |
---|---|
activateFilter |
クライアントが予約を登録すると、CIM Object Manager は、このメソッドを呼び出して CIM イベントの検査をプロバイダに依頼する。 |
authorizeFilter |
クライアントが予約を登録すると、CIM Object Manager は、このメソッドを呼び出して指定されたフィルタ式が許可されているかを検査する。 |
deActivateFilter |
クライアントが予約を削除すると、CIM Object Manager は、このメソッドを呼び出して指定されたイベントフィルタの停止をプロバイダに依頼する。 |
mustPoll |
クライアントが予約を削除すると、CIM Object Manager は、このメソッドを呼び出して、指定されたフィルタ式をプロバイダが許可するかどうか、そのフィルタ式のポーリングが必要かどうかを検査する。 |
CIM Object Manager は、すべてのメソッドに次の引数の値を渡します。
filter — インジケーションを生成する必要がある CIM イベントを指定する SelectExp 型。
eventType — CIM イベントの型を指定する String 型。これは、select 式の FROM 節から抽出することもできます。
classPath — このイベントを必要とするクラスの名前を指定する CIMObjectPath 型。
さらに、activateFilter メソッドは、これがこのイベント型の最初のフィルタであることを示すブール値 firstActivation を受け取ります。deActivateFilter メソッドは、これが最後のフィルタであることを示すブール値 lastActivation を受け取ります。