version 1.97, 2011/01/13 06:00:28
|
version 1.97.2.2, 2012/02/15 17:47:15
|
|
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
// Holds information of control providers servicing the indications. |
|
struct ControlProvIndReg |
|
{ |
|
CIMName className; |
|
CIMNamespaceName nameSpace; |
|
CIMInstance providerModule; |
|
CIMInstance provider; |
|
}; |
|
|
|
typedef HashTable <String, ControlProvIndReg, EqualFunc <String>, |
|
HashFunc <String> > ControlProvIndRegTable; |
|
|
class SubscriptionRepository; | class SubscriptionRepository; |
class SubscriptionTable; | class SubscriptionTable; |
| |
|
|
| |
@return list of CIMInstance subscriptions | @return list of CIMInstance subscriptions |
*/ | */ |
Array<CIMInstance> _getMatchingSubscriptions( |
Array<SubscriptionWithSrcNamespace> _getMatchingSubscriptions( |
const CIMName& supportedClass, | const CIMName& supportedClass, |
const Array<CIMNamespaceName> nameSpaces, | const Array<CIMNamespaceName> nameSpaces, |
const CIMPropertyList& supportedProperties, | const CIMPropertyList& supportedProperties, |
|
|
const Array<CIMNamespaceName>& oldNameSpaces, | const Array<CIMNamespaceName>& oldNameSpaces, |
const CIMPropertyList& newProperties, | const CIMPropertyList& newProperties, |
const CIMPropertyList& oldProperties, | const CIMPropertyList& oldProperties, |
Array<CIMInstance>& newSubscriptions, |
Array<SubscriptionWithSrcNamespace>& newSubscriptions, |
Array<CIMInstance>& formerSubscriptions); |
Array<SubscriptionWithSrcNamespace>& formerSubscriptions); |
| |
/** | /** |
Determines if all of the required properties in the specified list | Determines if all of the required properties in the specified list |
|
|
Retrieves the list of indication providers that serve the specified | Retrieves the list of indication providers that serve the specified |
indication subclasses. | indication subclasses. |
| |
@param queryExpression the query expression |
@param query the query |
@param nameSpace the namespace name |
@param queyLang the query language |
@param indicationClassName the indication class name | @param indicationClassName the indication class name |
@param indicationSubclasses the list of indication subclass names | @param indicationSubclasses the list of indication subclass names |
| |
@return list of ProviderClassList structs | @return list of ProviderClassList structs |
*/ | */ |
Array<ProviderClassList> _getIndicationProviders( | Array<ProviderClassList> _getIndicationProviders( |
const QueryExpression& queryExpression, |
const String &query, |
const CIMNamespaceName& nameSpace, |
const String &queryLang, |
const CIMName& indicationClassName, | const CIMName& indicationClassName, |
const Array<CIMName>& indicationSubclasses) const; |
const Array<NamespaceClassList>& indicationSubclasses) const; |
| |
/** | /** |
Retrieves the list of required properties (all the properties | Retrieves the list of required properties (all the properties |
|
|
classes | classes |
@param propertyList Output list of properties required by the | @param propertyList Output list of properties required by the |
subscription | subscription |
@param sourceNameSpace Output source namespace for filter query |
|
@param condition Output condition part of the filter query | @param condition Output condition part of the filter query |
@param query Output filter query | @param query Output filter query |
@param queryLanguage Output query language in which the filter | @param queryLanguage Output query language in which the filter |
|
|
*/ | */ |
void _getCreateParams( | void _getCreateParams( |
const CIMInstance& subscriptionInstance, | const CIMInstance& subscriptionInstance, |
Array<CIMName>& indicationSubclasses, |
Array<NamespaceClassList>& indicationSubclasses, |
Array<ProviderClassList>& indicationProviders, | Array<ProviderClassList>& indicationProviders, |
CIMPropertyList& propertyList, | CIMPropertyList& propertyList, |
CIMNamespaceName& sourceNameSpace, |
|
String& condition, | String& condition, |
String& query, | String& query, |
String& queryLanguage); | String& queryLanguage); |
|
|
class in filter query | class in filter query |
@param propertyList Output list of properties required by the | @param propertyList Output list of properties required by the |
subscription | subscription |
@param sourceNameSpace Output source namespace for filter query |
|
@param condition Output condition part of the filter query | @param condition Output condition part of the filter query |
@param query Output filter query | @param query Output filter query |
@param queryLanguage Output query language in which the filter | @param queryLanguage Output query language in which the filter |
|
|
*/ | */ |
void _getCreateParams( | void _getCreateParams( |
const CIMInstance& subscriptionInstance, | const CIMInstance& subscriptionInstance, |
Array<CIMName>& indicationSubclasses, |
Array<NamespaceClassList>& indicationSubclasses, |
CIMPropertyList& propertyList, | CIMPropertyList& propertyList, |
CIMNamespaceName& sourceNameSpace, |
|
String& condition, | String& condition, |
String& query, | String& query, |
String& queryLanguage); | String& queryLanguage); |
|
|
@param subscriptionInstance Input subscription instance | @param subscriptionInstance Input subscription instance |
@param indicationSubclasses Output list of subclasses of indication | @param indicationSubclasses Output list of subclasses of indication |
class in filter query | class in filter query |
@param sourceNameSpace Output source namespace for filter query |
|
| |
@return List of providers with associated classes to Delete | @return List of providers with associated classes to Delete |
*/ | */ |
Array<ProviderClassList> _getDeleteParams( | Array<ProviderClassList> _getDeleteParams( |
const CIMInstance& subscriptionInstance, | const CIMInstance& subscriptionInstance, |
Array<CIMName>& indicationSubclasses, |
Array<NamespaceClassList>& indicationSubclasses); |
CIMNamespaceName& sourceNameSpace); |
|
| |
/** | /** |
Sends Create subscription request for the specified subscription | Sends Create subscription request for the specified subscription |
|
|
In case (3), there is no original request and no response is required. | In case (3), there is no original request and no response is required. |
| |
@param indicationProviders list of providers with associated classes | @param indicationProviders list of providers with associated classes |
@param nameSpace the nameSpace name of the resource being |
with the nameSpace name of the resource |
monitored, from the SourceNamespace |
being monitored, from the SourceNamespace |
property of the CIM_IndicationFilter | property of the CIM_IndicationFilter |
instance for the specified | instance for the specified |
subscription | subscription |
|
|
*/ | */ |
void _sendAsyncCreateRequests( | void _sendAsyncCreateRequests( |
const Array<ProviderClassList>& indicationProviders, | const Array<ProviderClassList>& indicationProviders, |
const CIMNamespaceName& nameSpace, |
|
const CIMPropertyList& propertyList, | const CIMPropertyList& propertyList, |
const String& condition, | const String& condition, |
const String& query, | const String& query, |
|
|
const AcceptLanguageList& acceptLangs, | const AcceptLanguageList& acceptLangs, |
const ContentLanguageList& contentLangs, | const ContentLanguageList& contentLangs, |
const CIMRequestMessage * origRequest, | const CIMRequestMessage * origRequest, |
const Array<CIMName>& indicationSubclasses, |
const Array<NamespaceClassList>& indicationSubclasses, |
const String& userName, | const String& userName, |
const String& authType = String::EMPTY); | const String& authType = String::EMPTY); |
| |
|
|
response is required. | response is required. |
| |
@param indicationProviders list of providers with associated classes | @param indicationProviders list of providers with associated classes |
@param nameSpace the nameSpace name of the resource being |
with the nameSpace name of the resource |
monitored, from the SourceNamespace |
being monitored, from the SourceNamespace |
property of the CIM_IndicationFilter | property of the CIM_IndicationFilter |
instance for the specified | instance for the specified |
subscription | subscription |
|
|
*/ | */ |
Array<ProviderClassList> _sendWaitCreateRequests( | Array<ProviderClassList> _sendWaitCreateRequests( |
const Array<ProviderClassList>& indicationProviders, | const Array<ProviderClassList>& indicationProviders, |
const CIMNamespaceName& nameSpace, |
|
const CIMPropertyList& propertyList, | const CIMPropertyList& propertyList, |
const String& condition, | const String& condition, |
const String& query, | const String& query, |
|
|
request to which the Indication Service must respond. | request to which the Indication Service must respond. |
| |
@param indicationProviders list of providers with associated classes | @param indicationProviders list of providers with associated classes |
@param nameSpace the nameSpace name of the resource being |
with the nameSpace name of the resource |
monitored, from the SourceNamespace |
being monitored, from the SourceNamespace |
property of the CIM_IndicationFilter | property of the CIM_IndicationFilter |
instance for the specified | instance for the specified |
subscription | subscription |
|
|
*/ | */ |
void _sendWaitModifyRequests( | void _sendWaitModifyRequests( |
const Array<ProviderClassList>& indicationProviders, | const Array<ProviderClassList>& indicationProviders, |
const CIMNamespaceName& nameSpace, |
|
const CIMPropertyList& propertyList, | const CIMPropertyList& propertyList, |
const String& condition, | const String& condition, |
const String& query, | const String& query, |
|
|
orginal request and no response is required. | orginal request and no response is required. |
| |
@param indicationProviders list of providers with associated classes | @param indicationProviders list of providers with associated classes |
@param nameSpace the nameSpace name of the resource being |
with the nameSpace name of the resource |
monitored, from the SourceNamespace |
being monitored, from the SourceNamespace |
property of the CIM_IndicationFilter | property of the CIM_IndicationFilter |
instance for the specified | instance for the specified |
subscription | subscription |
|
|
*/ | */ |
void _sendAsyncDeleteRequests( | void _sendAsyncDeleteRequests( |
const Array<ProviderClassList>& indicationProviders, | const Array<ProviderClassList>& indicationProviders, |
const CIMNamespaceName& nameSpace, |
|
const CIMInstance& subscription, | const CIMInstance& subscription, |
const AcceptLanguageList& acceptLangs, | const AcceptLanguageList& acceptLangs, |
const ContentLanguageList& contentLangs, | const ContentLanguageList& contentLangs, |
const CIMRequestMessage * origRequest, | const CIMRequestMessage * origRequest, |
const Array<CIMName>& indicationSubclasses, |
const Array<NamespaceClassList>& indicationSubclasses, |
const String& userName, | const String& userName, |
const String& authType = String::EMPTY); | const String& authType = String::EMPTY); |
| |
|
|
Service must respond. | Service must respond. |
| |
@param indicationProviders list of providers with associated classes | @param indicationProviders list of providers with associated classes |
@param nameSpace the nameSpace name of the resource being |
with the nameSpace name of the resource |
monitored, from the SourceNamespace |
being monitored, from the SourceNamespace |
property of the CIM_IndicationFilter | property of the CIM_IndicationFilter |
instance for the specified | instance for the specified |
subscription | subscription |
|
|
*/ | */ |
void _sendWaitDeleteRequests( | void _sendWaitDeleteRequests( |
const Array<ProviderClassList>& indicationProviders, | const Array<ProviderClassList>& indicationProviders, |
const CIMNamespaceName& nameSpace, |
|
const CIMInstance& subscription, | const CIMInstance& subscription, |
const AcceptLanguageList& acceptLangs, | const AcceptLanguageList& acceptLangs, |
const ContentLanguageList& contentLangs, | const ContentLanguageList& contentLangs, |
|
|
const CIMInstance& handlerInstance, | const CIMInstance& handlerInstance, |
const CIMInstance& formattedIndication, | const CIMInstance& formattedIndication, |
const CIMNamespaceName& namespaceName, | const CIMNamespaceName& namespaceName, |
const OperationContext& operationContext); |
const OperationContext& operationContext, |
|
DeliveryStatusAggregator *deliveryStatusAggregator); |
| |
/** | /** |
Updates the subscription table with the information of the providers | Updates the subscription table with the information of the providers |
|
|
@param subscription The accepted subscription. | @param subscription The accepted subscription. |
@param acceptedProviders Subscription accepted providers list. | @param acceptedProviders Subscription accepted providers list. |
@param indicationSubclasses The indication subclasses for the | @param indicationSubclasses The indication subclasses for the |
subscription |
subscription with the source namespace. |
@param sourceNameSpace The nameSpace name of the resource being |
|
monitored, from the SourceNamespace |
|
property of the CIM_IndicationFilter |
|
instance for the specified |
|
subscription |
|
| |
*/ | */ |
void _updateAcceptedSubscription( | void _updateAcceptedSubscription( |
CIMInstance &subscription, | CIMInstance &subscription, |
const Array<ProviderClassList> &acceptedProviders, | const Array<ProviderClassList> &acceptedProviders, |
const Array<CIMName> &indicationSubclasses, |
const Array<NamespaceClassList> &indicationSubclasses); |
const CIMNamespaceName &sourceNameSpace); |
|
|
Array<ProviderClassList> _getIndicationProvidersWithNamespaceClassList( |
|
const Array<ProviderClassList> &providers); |
|
|
|
void _addProviderToAcceptedProviderList( |
|
Array<ProviderClassList> &acceptedProviders, |
|
ProviderClassList &provider); |
| |
void _deliverWaitingIndications(); | void _deliverWaitingIndications(); |
void _beginCreateSubscription(const CIMObjectPath &objPath); | void _beginCreateSubscription(const CIMObjectPath &objPath); |
|
|
Uint32 _handlerService; | Uint32 _handlerService; |
| |
/** | /** |
|
Integer representing queue ID for accessing Module Controller |
|
*/ |
|
Uint32 _moduleController; |
|
|
|
/** |
Boolean indicating that the CIM Server has been configured to | Boolean indicating that the CIM Server has been configured to |
allow non-privileged users read and write access to the | allow non-privileged users read and write access to the |
Subscription classes. | Subscription classes. |
|
|
*/ | */ |
CIMClass _getIndicationClass(const CIMInstance& instance); | CIMClass _getIndicationClass(const CIMInstance& instance); |
| |
|
void _buildInternalControlProvidersRegistration(); |
|
|
|
Array<ProviderClassList> _getInternalIndProviders( |
|
const Array<NamespaceClassList>& indicationSubclasses) const; |
|
|
/** | /** |
Arrays of valid and supported property values | Arrays of valid and supported property values |
| |
|
|
Array<CIMName> _supportedSNMPHandlerProperties; | Array<CIMName> _supportedSNMPHandlerProperties; |
Array<CIMName> _supportedSyslogListenerDestinationProperties; | Array<CIMName> _supportedSyslogListenerDestinationProperties; |
Array<CIMName> _supportedEmailListenerDestinationProperties; | Array<CIMName> _supportedEmailListenerDestinationProperties; |
|
ControlProvIndRegTable _controlProvIndRegTable; |
}; | }; |
| |
// Use with AutoPtr to automatically decrement AtomicInt | // Use with AutoPtr to automatically decrement AtomicInt |
|
|
} | } |
}; | }; |
| |
|
struct ExpectedResponseCountSetDone |
|
{ |
|
void operator()(DeliveryStatusAggregator* ptr) |
|
{ |
|
if (ptr) |
|
{ |
|
ptr->expectedResponseCountSetDone(); |
|
} |
|
} |
|
}; |
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |
| |
#endif /* Pegasus_IndicationService_h */ | #endif /* Pegasus_IndicationService_h */ |