Solaris WBEM 開発ガイド

名前空間の作成

Solaris OS は、標準の CIM MOF (Managed Object Format) ファイルをコンパイルしてデフォルトの名前空間を生成します。新しい名前空間を作成する場合は、先に適切な CIM .mof ファイルを新しい名前空間にコンパイルしてから、その名前空間にオブジェクトを作成する必要があります。たとえば、標準の CIM 要素を使用するクラスを作成する場合は、名前空間に CIM コアスキーマをコンパイルします。CIM アプリケーションスキーマを拡張するクラスを作成する場合は、名前空間に CIM アプリケーションをコンパイルします。


例 4–17 名前空間の作成

次の例では、2 段階の処理を実行して、既存の名前空間内に名前空間を作成します。

  1. 名前空間の作成時に、CIMNameSpace メソッドが CIM オブジェクトマネージャ に渡すパラメータを含む名前空間オブジェクトを作成します。

  2. CIMClient クラスは、 CIM オブジェクトマネージャ に接続して名前空間オブジェクトを渡します。CIM オブジェクトマネージャ は、名前空間オブジェクトに含まれるパラメータを使用して名前空間を作成します。

{
    ...
    /* クライアント上で名前空間オブジェクトを作成し、
    コマンド行から渡されるパラメータを格納する。args[0] にはホスト名
     (たとえば myhost) が、args[1] には親の名前空間 (たとえば 最上位
    ディレクトリ) が含まれる。 */
       
    CIMNameSpace cns = new CIMNameSpace (args[0], args[1]); 

    UserPrincipal up = new UserPrincipal("root");
    PasswordCredential pc = new PasswordCredential("root_password"); 
     
    /* CIM オブジェクトマネージャに接続し、3 つのパラメータを渡す。
    3 つのパラメータとは、ホスト名 (args[0]) および親の名前空間名 
   (args[1]) を含む名前空間オブジェクト (cns)、ユーザー名文字列 
   (args[3])、およびパスワード文字列 (args[4]) を指す */
     
    CIMClient cc = new CIMClient (cns, up, pc);
     
    /*  CIM オブジェクトマネージャに、NULL 文字列 (ホスト名) と
    args[2] の子名前空間の名前 (たとえば secondlevel) を含む別の
    名前空間オブジェクトを渡す */
     
    CIMNameSpace cop = new CIMNameSpace("", args[2]);
    
    /* myhost の最上位の名前空間に、args[2] を介して渡された名前で、
    新しい名前空間を作成する./*
     
    cc.createNameSpace(cop);
    ...
}