📄 indicationservice.h
字号:
/** Deletes subscriptions referencing the specified handler. All namespaces are searched for subscriptions that reference the handler to be deleted. @param nameSpace the name space of the handler being deleted @param referenceProperty the name of the reference property in the subscription instance @param handler the handler reference */ void _deleteReferencingSubscriptions ( const CIMNamespaceName & nameSpace, const CIMName & referenceProperty, const CIMObjectPath & handler); /** Determines if specified Subscription has expired NOTE: It is assumed that the instance passed to this function is a Subscription instance, and that the Subscription Duration and Start Time properties exist @param instance the subscription instance @return True, if the Subscription has expired; False otherwise */ Boolean _isExpired ( const CIMInstance & instance) const; /** Deletes specified subscription @param subscription the subscription reference */ void _deleteExpiredSubscription ( CIMObjectPath & subscription); /** Gets the Subscription Time Remaining property Calculates time remaining from Subscription Start Time, Subscription Duration, and current date time. If the subscription has a non-null Duration, the Time Remaining is set, and True is returned. If the subscription does not have a non-null Duration, it has no expiration date, and the time remaining is unlimited. In this case, the Time Remaining is not set and False is returned. NOTE: It is assumed that the instance passed to this function is a Subscription instance, and that the Start Time property exists and has a value @param instance Input the subscription instance @param timeRemaining Output the time remaining (seconds) @return True, if the subscription has a non-null Duration; False otherwise */ Boolean _getTimeRemaining ( const CIMInstance & instance, Uint64 & timeRemaining) const; /** Sets the Subscription Time Remaining property Calculates time remaining from Subscription Start Time, Subscription Duration, and current date time NOTE: It is assumed that the instance passed to this function is a Subscription instance, and that the Subscription Duration and Start Time properties exist @param instance the subscription instance */ void _setTimeRemaining ( CIMInstance & instance); /** Gets the parameter values required to Create or Modify the subscription request. If no indication providers are found, condition and queryLanguage are set to empty string. @param subscriptionInstance Input subscription instance @param indicationSubclasses Output list of subclasses of indication class in filter query @param indicationProviders Output list of providers with associated classes @param propertyList Output list of properties required by the subscription @param sourceNameSpace Output source namespace for filter query @param condition Output condition part of the filter query @param query Output filter query @param queryLanguage Output query language in which the filter query is expressed */ void _getCreateParams ( const CIMInstance & subscriptionInstance, Array <CIMName> & indicationSubclasses, Array <ProviderClassList> & indicationProviders, CIMPropertyList & propertyList, CIMNamespaceName & sourceNameSpace, String & condition, String & query, String & queryLanguage); /** Gets the parameter values required to Create or Modify the subscription request. @param subscriptionInstance Input subscription instance @param indicationSubclasses Output list of subclasses of indication class in filter query @param propertyList Output list of properties required by the subscription @param sourceNameSpace Output source namespace for filter query @param condition Output condition part of the filter query @param query Output filter query @param queryLanguage Output query language in which the filter query is expressed */ void _getCreateParams ( const CIMInstance & subscriptionInstance, Array <CIMName> & indicationSubclasses, CIMPropertyList & propertyList, CIMNamespaceName & sourceNameSpace, String & condition, String & query, String & queryLanguage); /** Gets the parameter values required to Delete the subscription request. @param subscriptionInstance Input subscription instance @param indicationSubclasses Output list of subclasses of indication class in filter query @param sourceNameSpace Output source namespace for filter query @return List of providers with associated classes to Delete */ Array <ProviderClassList> _getDeleteParams ( const CIMInstance & subscriptionInstance, Array <CIMName> & indicationSubclasses, CIMNamespaceName & sourceNameSpace); /** Sends Create subscription request for the specified subscription to each provider in the list. The requests are sent using SendAsync, and the responses are aggregated in the callback methods. Create Subscription requests are sent to the indication providers using SendAsync in the following cases: (1) on creation of an enabled subscription instance, and (2) on modification of a subscription instance, when the state changes to enabled. In cases (1) and (2), there is an original Create Instance or Modify Instance request to which the Indication Service must respond. @param indicationProviders list of providers with associated classes @param nameSpace the nameSpace name of the resource being monitored, from the SourceNamespace property of the CIM_IndicationFilter instance for the specified subscription @param propertyList the properties referenced by the subscription @param condition the condition part of the filter query @param query the filter query @param queryLanguage the query language in which the filter query is expressed @param subscription the subscription to be created @param acceptLangs the language of the response, and future indications @param contentLangs the language of the subscription @param origRequest the original request (Create Instance, Modify Instance) @param indicationSubclasses the indication subclasses for the subscription @param userName the userName for authentication @param authType the authentication type */ void _sendAsyncCreateRequests ( const Array <ProviderClassList> & indicationProviders, const CIMNamespaceName & nameSpace, const CIMPropertyList & propertyList, const String & condition, const String & query, const String & queryLanguage, const CIMInstance & subscription, const AcceptLanguageList & acceptLangs, const ContentLanguageList & contentLangs, const CIMRequestMessage * origRequest, const Array <CIMName> & indicationSubclasses, const String & userName, const String & authType = String::EMPTY); /** Sends Create subscription request for the specified subscription to each provider in the list. The requests are sent using SendWait, so no callback methods are required. Create Subscription requests are sent to the indication providers using SendWait in the following cases: (1) on notification of a provider registration change newly enabling the provider to serve the subscription, (2) on notification that a provider has been enabled and may now serve the subscription, and (3) on initialization, for each enabled subscription retrieved from the repository. In cases (1) and (2), there is an original Notify Provider Registration or Notify Provider Enable request to which the Indication Service must respond. In case (3), there is no original request and no response is required. @param indicationProviders list of providers with associated classes @param nameSpace the nameSpace name of the resource being monitored, from the SourceNamespace property of the CIM_IndicationFilter instance for the specified subscription @param propertyList the properties referenced by the subscription @param condition the condition part of the filter query @param query the filter query @param queryLanguage the query language in which the filter query is expressed @param subscription the subscription to be created @param acceptLangs the language of the response, and future indications @param contentLangs the language of the subscription @param userName the userName for authentication @param authType the authentication type @return List of providers that accepted subscription */ Array <ProviderClassList> _sendWaitCreateRequests ( const Array <ProviderClassList> & indicationProviders, const CIMNamespaceName & nameSpace, const CIMPropertyList & propertyList, const String & condition, const String & query, const String & queryLanguage, const CIMInstance & subscription, const AcceptLanguageList & acceptLangs, const ContentLanguageList & contentLangs, const String & userName, const String & authType = String::EMPTY); /** Sends Modify subscription request for the specified subscription to each provider in the list. The requests are sent using SendWait, so no callback methods are required. Modify Subscription requests must be sent to the indication providers on notification of a provider registration change, when the provider was formerly serving the subscription, and is still serving the subscription, in the following cases: (1) the provider is newly serving an additional indication subclass specified by the subscription, or (2) the provider is no longer serving an indication subclass specified by the subscription (but is still serving at least one of the indication subclasses). In cases (1) and (2), there is an original Notify Provider Registration request to which the Indication Service must respond. @param indicationProviders list of providers with associated classes @param nameSpace the nameSpace name of the resource being monitored, from the SourceNamespace property of the CIM_IndicationFilter instance for the specified subscription @param propertyList the properties referenced by the subscription @param condition the condition part of the filter query @param query the filter query @param queryLanguage the query language in which the filter query is expressed @param subscription the subscription to be modified @param acceptLangs the language of the response, and future indications @param contentLangs the language of the subscription @param userName the userName for authentication @param authType the authentication type */ void _sendWaitModifyRequests ( const Array <ProviderClassList> & indicationProviders, const CIMNamespaceName & nameSpace, const CIMPropertyList & propertyList, const String & condition, const String & query, const String & queryLanguage, const CIMInstance & subscription, const AcceptLanguageList & acceptLangs, const ContentLanguageList & contentLangs, const String & userName, const String & authType = String::EMPTY); /** Sends Delete subscription request for the specified subscription to each provider in the list. The requests are sent using SendAsync, and the responses are aggregated in the callback methods. Delete Subscription requests are sent to the indication providers using SendAsync in the following cases: (1) on deletion of an enabled subscription instance, (2) on modification of a subscription instance, when the state changes to disabled, (3) on deletion of an expired subscription, and (4) on deletion of a subscription referencing a deleted transient handler. In cases (1) and (2), there is an original Delete Instance or Modify Instance request to which the Indication Service must respond. In cases (3) and (4), there is no orginal request and no response is required. @param indicationProviders list of providers with associated classes @param nameSpace the nameSpace name of the resource being monitored, from the SourceNamespace property of the CIM_IndicationFilter instance for the specified subscription @param subscription the subscription to be modified @param acceptLangs the language of the response @param contentLangs the language of the subscription @param origRequest the original request (Delete Instance,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -