00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00029
00030
00031
00032 #ifndef Pegasus_CIMIndicationProvider_h
00033 #define Pegasus_CIMIndicationProvider_h
00034
00035 #include <Pegasus/Common/Config.h>
00036 #include <Pegasus/Provider/CIMProvider.h>
00037
00038 #include <Pegasus/Common/Array.h>
00039 #include <Pegasus/Common/CIMObjectPath.h>
00040 #include <Pegasus/Common/CIMDateTime.h>
00041 #include <Pegasus/Common/CIMIndication.h>
00042 #include <Pegasus/Provider/Linkage.h>
00043
00044 PEGASUS_NAMESPACE_BEGIN
00045
00052 class PEGASUS_PROVIDER_LINKAGE CIMIndicationProvider :
00053 public virtual CIMProvider
00054 {
00055 public:
00059 CIMIndicationProvider();
00060
00064 virtual ~CIMIndicationProvider();
00065
00102 virtual void enableIndications(IndicationResponseHandler & handler) = 0;
00103
00116 virtual void disableIndications() = 0;
00117
00183 virtual void createSubscription(
00184 const OperationContext & context,
00185 const CIMObjectPath & subscriptionName,
00186 const Array<CIMObjectPath> & classNames,
00187 const CIMPropertyList & propertyList,
00188 const Uint16 repeatNotificationPolicy) = 0;
00189
00232 virtual void modifySubscription(
00233 const OperationContext & context,
00234 const CIMObjectPath & subscriptionName,
00235 const Array<CIMObjectPath> & classNames,
00236 const CIMPropertyList & propertyList,
00237 const Uint16 repeatNotificationPolicy) = 0;
00238
00260 virtual void deleteSubscription(
00261 const OperationContext & context,
00262 const CIMObjectPath & subscriptionName,
00263 const Array<CIMObjectPath> & classNames) = 0;
00264 };
00265
00266 PEGASUS_NAMESPACE_END
00267
00268 #endif