イベントプロバイダは、EventProvider インタフェースを実装します。CIM Object Manager は、このインタフェースのメソッドを使って、クライアントが CIM イベントのインジケーションを予約したり、CIM イベントの予約を取り消したことをプロバイダに知らせます。さらにこれらのメソッドによって、プロバイダは、CIM Object Manager が特定のイベントインジケーションのポーリングを行うべきかどうか、インジケーションをハンドラに返すことを承認するかどうかを指定します。
次の表に、イベントプロバイダで実装する必要のある EventProvider インタフェースのメソッドを示します。
表 4-2 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 を受け取ります。