version 1.35, 2010/09/07 03:54:39
|
version 1.36, 2011/07/29 10:15:22
|
|
|
| |
#include <Pegasus/Provider/CIMInstanceProvider.h> | #include <Pegasus/Provider/CIMInstanceProvider.h> |
#include <Pegasus/Provider/CIMMethodProvider.h> | #include <Pegasus/Provider/CIMMethodProvider.h> |
|
#include <Pegasus/Provider/CIMIndicationProvider.h> |
#include <Pegasus/Common/ModuleController.h> | #include <Pegasus/Common/ModuleController.h> |
| |
#include <Pegasus/Common/AcceptLanguageList.h> | #include <Pegasus/Common/AcceptLanguageList.h> |
|
|
| |
class PEGASUS_PROVREGPROVIDER_LINKAGE ProviderRegistrationProvider : | class PEGASUS_PROVREGPROVIDER_LINKAGE ProviderRegistrationProvider : |
public CIMInstanceProvider, | public CIMInstanceProvider, |
public CIMMethodProvider |
public CIMMethodProvider , |
|
public CIMIndicationProvider |
{ | { |
public: | public: |
| |
|
|
const Array<CIMParamValue> & inParameters, | const Array<CIMParamValue> & inParameters, |
MethodResultResponseHandler & handler); | MethodResultResponseHandler & handler); |
| |
|
// CIMIndicationProvider interface |
|
virtual void enableIndications(IndicationResponseHandler& handler); |
|
virtual void disableIndications(); |
|
|
|
virtual void createSubscription( |
|
const OperationContext& context, |
|
const CIMObjectPath& subscriptionName, |
|
const Array <CIMObjectPath>& classNames, |
|
const CIMPropertyList& propertyList, |
|
const Uint16 repeatNotificationPolicy){} |
|
|
|
virtual void modifySubscription( |
|
const OperationContext& context, |
|
const CIMObjectPath& subscriptionName, |
|
const Array <CIMObjectPath>& classNames, |
|
const CIMPropertyList& propertyList, |
|
const Uint16 repeatNotificationPolicy){} |
|
|
|
virtual void deleteSubscription( |
|
const OperationContext& context, |
|
const CIMObjectPath& subscriptionName, |
|
const Array <CIMObjectPath>& classNames){} |
|
|
protected: | protected: |
| |
ModuleController * _controller; | ModuleController * _controller; |
|
|
const Boolean disableProviderOnly, | const Boolean disableProviderOnly, |
const AcceptLanguageList & al); | const AcceptLanguageList & al); |
| |
|
void _generatePMIndications( |
|
PMInstAlertCause alertCause); |
|
|
Sint16 _disableModule(const CIMObjectPath & moduleRef, | Sint16 _disableModule(const CIMObjectPath & moduleRef, |
const String & moduleName, | const String & moduleName, |
Boolean disableProviderOnly, | Boolean disableProviderOnly, |
|
|
const CIMObjectPath & providerRef); | const CIMObjectPath & providerRef); |
private: | private: |
| |
|
static void _sendIndication( |
|
const Array<CIMInstance> &providerModules, |
|
const CIMInstance &provider, |
|
PMInstAlertCause alertCause); |
#ifdef PEGASUS_ENABLE_INTEROP_PROVIDER | #ifdef PEGASUS_ENABLE_INTEROP_PROVIDER |
void _sendUpdateCacheMessagetoInteropProvider( | void _sendUpdateCacheMessagetoInteropProvider( |
const OperationContext & context); | const OperationContext & context); |
#endif | #endif |
|
static IndicationResponseHandler *_indicationResponseHandler; |
|
static Boolean _enableIndications; |
|
Boolean _sentEnabledIndications; |
|
static Mutex _indicationDeliveryMtx; |
|
static void _PMInstAlertCallback( |
|
const CIMInstance &providerModule, |
|
const CIMInstance &provider, |
|
PMInstAlertCause cause); |
}; | }; |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |