HP WBEM Services Software Developer's Kit for HP-UX Provider and Client Developer's Guide A.01
Provider Implementation
Provider Design Considerations
Chapter 4 63
A provider may implement more than one interface, but there can be
no more than one Instance Provider for a classin a
namespace
! Often,
it is useful to implement several interfaces in the same provider, as
this allows the platform-specific code that accesses system resources
to be shared.
• The SupportedProperties property is an array of strings, each of
which name a property of the instrumented class. If the value is
NULL, or if SupportedProperties is absent, all properties are
supported. If SupportedProperties is an empty set ({ }), no
properties are supported. Note that declaring support for all
properties of a class does not obligate the provider to actually supply
(or accept) all properties. It is permissible to throw
CIMNotSupportedException for properties that are not supported.
The declaration of support for a property informs the CIM Server
that this provider accepts responsibility for the property.
• Like SupportedProperties, the SupportedMethods property
specifies methods that are supported. The provider must register as
a Method Provider, by placing a “5” in the ProviderType array, for
the SupportedMethods to be meaningful. While there can be more
than one method provider for a given class, only one method provider
may be registered for the same method of a class.
The files containing MOF fragments shown above must be loaded into
the CIM Server's repository: the files containing provider registration
instances must be loaded into the root/PG_InterOp namespace, and the
file containing the definition of the ACME_ComputerSystem class must be
loaded into a normal, non-system namespace (please refer to the section
on Installing and Running a Provider). When a client requests an
operation to be performed on a class, the CIM Server will examine these
instances to determine which provider(s) to call.
A Version qualifier should be used on the class definition for
ACME_ComputerSystem. This allows a provider installation procedure to
determine whether an existing schema definition is a lower version (and
can therefore be upgraded) or equal to or greater than the version
supported by the new provider (in which case it should not be modified).
Provider Naming Conventions
There is no required relationship between the name of the provider
(PG_Provider.Name), the name of the module
(PG_ProviderModule.Name), the name of the shared library into which it