Solaris WBEM SDK Developer's Guide

Sample Provider Programs

The sample provider programs are located in subdirectories of /usr/demo/wbem/provider and are described in the following table.

Table 6-2 Sample Provider Programs

File Name 

Purpose 

NativeProvider.java

Top-level provider program that fulfills requests from the CIM Object Manager and routes them to the Native_Example provider. This program implements the instanceProvider and methodProvider APIs, and declares methods that enumerate instances and get an instance of the Native_Example class. This program also declares a method that invokes a method to print the string "Hello World."

Native_Example.mof

Creates a class that registers the NativeProvider provider with the CIM Object Manager. This MOF file identifies NativeProvider as the provider to service requests for dynamic data in the Native_Example class, and declares the properties and methods to be implemented by the NativeProvider.

Native_Example.java

The NativeProvider program calls this provider to implement methods that enumerate instances and get an instance of the Native_Example class. The Native_Example provider uses the APIs to enumerate objects and create instances of objects. The Native_Example class declares native methods, which call C functions in the native.c file to get system-specific values, such as host name, serial number, release, machine, architecture, and manufacturer.

native.c

This C program implements calls from the Native_Example Java provider in native C code.

Native_Example.h

A machine-generated header file for the Native_Example class. Defines the correspondence between the Java native method names and the native C functions that execute those methods.

libnative.so

Binary native C code compiled from the native.c file.

How to Run the Sample Provider Programs

You must set up your environment before you can run the sample provider programs.

  1. Set the LD_LIBRARY_PATH environment variable to the location of the provider class files:

    • Using the C shell, type:


      % setenv LD_LIBRARY_PATH /usr/sadm/lib/wbem
      

    • Using the Bourne shell, type:


      % LD_LIBRARY_PATH = /usr/sadm/lib/wbem
      

  2. Copy the libnative.so shared library file to the directory specified by the LD_LIBRARY_PATH environment variable:


    % cp libnative.so /usr/sadm/lib/wbem
    

  3. Move the provider class files to the same path as the package in which they are defined:


    % mv *.class /usr/sadm/lib/wbem
    

  4. Become root superuser.

  5. Stop the CIM Object Manager in the same shell in which you set the LD_LIBRARY_PATH environment variable:


    # /etc/init.d/init.wbem stop
    

    Note -

    When you set the LD_LIBRARY_PATH environment variable in a shell, you must stop and restart the CIM Object Manager in the same shell to recognize the new variable.


  6. Start the CIM Object Manager:


    # /etc/init.d/init.wbem start
    
  7. Exit being superuser.

  8. Compile the program's associated .mof file to load the appropriate class in the CIM Object Manager and to identify the provider:


    % mofcomp -u root -p root_password Native_Example.mof
    

  9. Start CIM WorkShop:


    % /usr/sadm/bin/cimworkshop
    

  10. In the CIM WorkShop Toolbar, click the Find Class icon.

  11. In the Input dialog box, type the name of the class that you want to display and then click OK.

    The class displays in CIM Workshop.