version 1.22, 2003/11/12 15:29:36
|
version 1.23, 2003/11/26 00:10:23
|
|
|
/** | /** |
This class defines the set of methods implemented by an indication | This class defines the set of methods implemented by an indication |
provider. A provider that derives from this class must implement all | provider. A provider that derives from this class must implement all |
methods. The minimal method implementation simply throws the NotSupported |
methods. A minimal method implementation simply throws a |
exception. |
CIMNotSupportedException. |
*/ | */ |
class PEGASUS_PROVIDER_LINKAGE CIMIndicationProvider : public virtual CIMProvider | class PEGASUS_PROVIDER_LINKAGE CIMIndicationProvider : public virtual CIMProvider |
{ | { |
|
|
null values (default constructor). | null values (default constructor). |
*/ | */ |
CIMIndicationProvider(void); | CIMIndicationProvider(void); |
/** Destroys the CIMIndicationProvider. |
|
|
/** Destructs the CIMIndicationProvider. |
*/ | */ |
virtual ~CIMIndicationProvider(void); | virtual ~CIMIndicationProvider(void); |
| |
/** Called when the provider is expected to begin generating |
/** Instructs the provider to begin generating indications. One or |
indications. The handler argument is what the provider uses to deliver |
more createSubscription calls may precede the call to this method. |
the indications it generates. |
(On start-up, createSubscription is called for each active |
|
subscription before the enableIndications method is called, so that |
One or more createSubscription calls may precede the call to this method. |
the provider knows about all outstanding subscriptions before it |
(On start-up, all active subscriptions are given to the provider with |
begins generating indications.) |
createSubscription calls before the enableIndications method is called, so |
|
that the provider knows about all outstanding subscriptions before it |
An exception thrown by this method is considered a provider error |
starts generating indications.) |
and does not affect CIM Server behavior. |
@param IndicationResponseHandler |
|
@param handler |
@param handler An IndicationResponseHandler used by the provider to |
|
deliver the indications it generates. The IndicationResponseHandler |
|
object remains valid until the disableIndications method is called. |
|
After disableIndications is called, the behavior of the |
|
IndicationResponseHandler is undefined. |
*/ | */ |
|
|
virtual void enableIndications(IndicationResponseHandler & handler) = 0; | virtual void enableIndications(IndicationResponseHandler & handler) = 0; |
| |
/** Tells the provider not to generate any more indications. After this call, |
/** Tells the provider to stop generating indications. After this call, |
the handler given to the provider in the enableIndications method is no |
the IndicationResponseHandler given to the provider in the |
longer valid, and calling it has undefined results. |
enableIndications method is no longer valid and its behavior is |
|
undefined. Information regarding active subscriptions no longer |
|
applies to the provider and should be discarded at this time. |
|
(The provider will receive new createSubscription calls to restore |
|
necessary state before enableIndications is called again.) |
|
|
|
An exception thrown by this method is considered a provider error |
|
and does not affect CIM Server behavior. |
*/ | */ |
virtual void disableIndications(void) = 0; | virtual void disableIndications(void) = 0; |
| |
/** Tells the provider to monitor for indications matching the specified | /** Tells the provider to monitor for indications matching the specified |
subscription. Note that it is not necessary for a simple indication |
subscription. The provider may reject the subscription by throwing a |
provider to take any action on createSubscription, modifySubscription, or |
CIMNotSupportedException. |
deleteSubscription. It may simply generate indications (or not) based on |
|
the enableIndications and disableIndications calls. |
Note that it is not necessary for a simple indication provider to |
|
take any action on createSubscription, modifySubscription, or |
|
deleteSubscription. It may simply generate indications (or not) |
|
based on the enableIndications and disableIndications calls. |
|
|
|
An indication provider is not required to retain or make use of any |
|
specific subscription information. (A provider that accepts a |
|
subscription with a RepeatNotificationPolicy value other than "None", |
|
however, requires this data for proper operation.) |
|
|
|
An indication should only be generated once regardless of the |
|
number of active subscriptions. The indication will be sent to |
|
each applicable handler. If an indication should not be sent to all |
|
subscribers (such as when the provider has accepted one or more |
|
subscriptions with a RepeatNotificationPolicy defined), the provider |
|
must include in a SubscriptionInstanceNamesContainer the list of |
|
subscriptions for which the indication is intended. |
| |
@param context Similar to that in the other provider interfaces. | @param context Similar to that in the other provider interfaces. |
Of particular interest to indication providers are the | Of particular interest to indication providers are the |
|
|
containers. The SubscriptionInstanceContainer contains the full | containers. The SubscriptionInstanceContainer contains the full |
CIM_IndicationSubscription instance (including, for example, more | CIM_IndicationSubscription instance (including, for example, more |
information about repeat notification policies). The | information about repeat notification policies). The |
SubscriptionFilterConditionContainer contains the query string and query |
SubscriptionFilterConditionContainer contains the query string and |
language from the CIM_IndicationFilter instance. |
query language from the CIM_IndicationFilter instance. |
| |
@param subscriptionName Specifies the object path of the CIM_IndicationSubscription |
@param subscriptionName Specifies the object path of the |
instance that implicates this provider. |
CIM_IndicationSubscription instance for which this provider is |
|
requested to generate indications. |
| |
@param classNames Contains a list of indication class names for | @param classNames Contains a list of indication class names for |
which this provider has registered as an indication provider that are |
which this provider has registered as an indication provider and are |
included in the CIM_IndicationFilter for this subscription instance. | included in the CIM_IndicationFilter for this subscription instance. |
A provider can use this as a medium-level data for controlling which |
A provider may use this as medium-level data for controlling which |
indications it generates. | indications it generates. |
| |
@param propertyList Specifies which properties of the specified class names |
@param propertyList Specifies which properties of the specified |
must be included in the indications generated for this subscription. |
class names must be (minimally) included in the indications |
|
generated for this subscription. |
@param repeatNotificationPolicy Contains the value of the property with the |
|
same name in the CIM_IndicationSubscription instance. Most providers |
@param repeatNotificationPolicy Contains the value of the property |
will probably not support repeat notification policies, and should throw |
with the same name in the CIM_IndicationSubscription instance. Most |
a NotSupported exception if the value is anything other than "none". |
providers will probably not support repeat notification policies, and |
|
should throw a CIMNotSupportedException if the value is anything |
|
other than "None". |
*/ | */ |
|
|
virtual void createSubscription( | virtual void createSubscription( |
const OperationContext & context, | const OperationContext & context, |
const CIMObjectPath & subscriptionName, | const CIMObjectPath & subscriptionName, |
|
|
const CIMPropertyList & propertyList, | const CIMPropertyList & propertyList, |
const Uint16 repeatNotificationPolicy) = 0; | const Uint16 repeatNotificationPolicy) = 0; |
| |
/** Informs the provider that the specified subscription instance has changed. |
/** Informs the provider that the specified subscription instance has |
The arguments are similar to those for createSubscription. |
changed. |
| |
@param context Similar to that in the other provider interfaces. | @param context Similar to that in the other provider interfaces. |
Of particular interest to indication providers are the | Of particular interest to indication providers are the |
|
|
containers. The SubscriptionInstanceContainer contains the full | containers. The SubscriptionInstanceContainer contains the full |
CIM_IndicationSubscription instance (including, for example, more | CIM_IndicationSubscription instance (including, for example, more |
information about repeat notification policies). The | information about repeat notification policies). The |
SubscriptionFilterConditionContainer contains the query string and query |
SubscriptionFilterConditionContainer contains the query string and |
language from the CIM_IndicationFilter instance. |
query language from the CIM_IndicationFilter instance. |
| |
@param subscriptionName Specifies the object path of the CIM_IndicationSubscription |
@param subscriptionName Specifies the object path of the |
instance that implicates this provider. |
CIM_IndicationSubscription instance that is being modified and for |
|
which this provider has been requested to generate indications. |
| |
@param classNames Contains a list of indication class names for | @param classNames Contains a list of indication class names for |
which this provider has registered as an indication provider that are |
which this provider has registered as an indication provider and are |
included in the CIM_IndicationFilter for this subscription instance. | included in the CIM_IndicationFilter for this subscription instance. |
A provider can use this as a medium-level data for controlling which |
A provider can use this as medium-level data for controlling which |
indications it generates. | indications it generates. |
| |
@param propertyList Specifies which properties of the specified class names |
@param propertyList Specifies which properties of the specified |
must be included in the indications generated for this subscription. |
class names must be (minimally) included in the indications generated |
|
for this subscription. |
@param repeatNotificationPolicy Contains the value of the property with the |
|
same name in the CIM_IndicationSubscription instance. Most providers |
@param repeatNotificationPolicy Contains the value of the property |
will probably not support repeat notification policies, and should throw |
with the same name in the CIM_IndicationSubscription instance. Most |
a NotSupported exception if the value is anything other than "none". |
providers will probably not support repeat notification policies, and |
|
should throw a CIMNotSupportedException if the value is anything |
|
other than "None". |
*/ | */ |
virtual void modifySubscription( | virtual void modifySubscription( |
const OperationContext & context, | const OperationContext & context, |
|
|
const CIMPropertyList & propertyList, | const CIMPropertyList & propertyList, |
const Uint16 repeatNotificationPolicy) = 0; | const Uint16 repeatNotificationPolicy) = 0; |
| |
/** Informs the provider to stop monitoring for indications matching the |
/** Instructs the provider to stop monitoring for indications matching |
specified subscription. |
the specified subscription. |
|
|
|
An exception thrown by this method is considered a provider error |
|
and does not affect CIM Server behavior. |
| |
@param context Similar to that in the other provider interfaces. | @param context Similar to that in the other provider interfaces. |
Of particular interest to indication providers are the | Of particular interest to indication providers are the |
|
|
containers. The SubscriptionInstanceContainer contains the full | containers. The SubscriptionInstanceContainer contains the full |
CIM_IndicationSubscription instance (including, for example, more | CIM_IndicationSubscription instance (including, for example, more |
information about repeat notification policies). The | information about repeat notification policies). The |
SubscriptionFilterConditionContainer contains the query string and query |
SubscriptionFilterConditionContainer contains the query string and |
language from the CIM_IndicationFilter instance. |
query language from the CIM_IndicationFilter instance. |
| |
@param subscriptionName Specifies the object path of the CIM_IndicationSubscription |
@param subscriptionName Specifies the object path of the |
instance that implicates this provider. |
CIM_IndicationSubscription instance for which this provider is |
|
requested to stop generating indications. |
| |
@param classNames Contains a list of indication class names for | @param classNames Contains a list of indication class names for |
which this provider has registered as an indication provider that are |
which this provider has registered as an indication provider and are |
included in the CIM_IndicationFilter for this subscription instance. | included in the CIM_IndicationFilter for this subscription instance. |
A provider can use this as a medium-level data for controlling which |
A provider can use this as medium-level data for controlling which |
indications it generates. This parameter contains extra data provided to assist |
indications it generates. |
those providers doing class-level control of indication generation. |
|
*/ | */ |
virtual void deleteSubscription( | virtual void deleteSubscription( |
const OperationContext & context, | const OperationContext & context, |