Sun WBEM SDK 開発ガイド

CIM インジケーションクラス

プロバイダは、CIM_Indication クラスのサブクラスのインスタンスを作成することによって、CIM イベントのインジケーションを生成します。

次の表に、プロバイダが生成すべき内部 CIM イベントを示します。

表 6–4 CIM イベントインジケーションクラス

イベントクラス 

説明 

CIM_InstCreation

新しいインスタンスが作成されたことを知らせる。 

CIM_InstDeletion

既存のインスタンスが削除されたことを知らせる。 

CIM_InstModification

インスタンスが変更されたことを知らせる。インジケーションには、変更される前のインスタンスのコピーが含まれていなければならない。 

イベントインジケーションを生成する方法
  1. EventProvider インタフェースを実装します。以下に例を示します。

    public class sampleEventProvider implements 
            InstanceProvider EventProvider{
    
        // プロバイダが CIM Object Manager に接続するための参照
        private ProviderCIMOMHandle cimom;
       }

  2. プロバイダが処理するインスタンスインジケーションに対して、表 6–3 に示すそれぞれのメソッドを実行します。

  3. 作成、変更、削除のインスタンスのイベント型ごとに、表 6–4 に示すインジケーションを作成します。以下に createInstance メソッドの例を示します。

    public CIMObjectPath createInstance(CIMObjectPath op, 
            CIMInstance ci)
        throws CIMException {
            CIMObjectpath newop = ip.createInstance(op, ci);
            CIMInstance indication = new CIMInstance();
            indication.setClassName("CIM_InstCreation");
            CIMProperty cp = new CIMProperty();
            cp.setName("SourceInstance");
            cp.setValue(new CIMValue(ci));
            Vector v = new Vector();
            v.addElement(cp);
            indication.setProperties(v);
            ...
        }

  4. イベントインジケーションを CIM Object Manager に送信します。以下に例を示します。

    cimom.deliverEvent(op.getNameSpace(), indication);
            return newop;