HP WBEM Services Software Developer's Kit for HP-UX Provider and Client Developer's Guide A.01
Provider Implementation
Provider Design Considerations
Chapter 460
PG_ProviderCapabilities
The class PG_ProviderCapabilities is used to associate a provider
with the class for which it supplies instances, methods, indications, or
associations in the specified namespace. Example 4-6 shows the
definition of PG_ProviderCapabilities in a MOF declaration:
Example 4-6 PG_ProviderCapabilities: An abridged MOF declaration
class PG_ProviderCapabilities : CIM_ManagedElement
{
[ Key, Propagated ("PG_Provider.ProviderModuleName") ]
string ProviderModuleName;
[ Key, Propagated ("PG_Provider.Name") ]
string ProviderName;
[ Key ]
string CapabilityID;
string ClassName;
string namespaces[];
[ ArrayType ("Indexed"),
ValueMap { "2", "3", "4", "5" },
Values {"Instance","Association","Indication","Method"}]
uint16 ProviderType[];
string SupportedProperties[];
string SupportedMethods[];
};
As in the PG_Provider object (Example 4-3), the ProviderModuleName
tells the CIM Server which module contains the provider that this
capabilities instance describes. It must be the same as the Name property
of an instance of PG_ProviderModule. Likewise, the ProviderName
property must be the same as the Name property of an instance of
PG_Provider.
The CapabilityID key makes it possible to have several instances
naming the same provider and module, but with different capabilities.
They might differ in the class that they instrument, or they may name
different sets of properties or implement different provider types.
However, there can be no more than one Instance Provider for each class
in a
namespace
! There may be more than one Method Provider as long
as they do not claim service for the same method.
The following descriptions are taken from the complete MOF definition
of PG_ProviderCapabilities: