version 1.206, 2006/09/27 20:13:21
|
version 1.207, 2006/10/20 19:19:44
|
|
|
// Some valid values, as defined in the MOF, are not currently supported | // Some valid values, as defined in the MOF, are not currently supported |
// by the Pegasus IndicationService | // by the Pegasus IndicationService |
// | // |
_validStates.append (_STATE_UNKNOWN); |
_validStates.append (STATE_UNKNOWN); |
_validStates.append (_STATE_OTHER); |
_validStates.append (STATE_OTHER); |
_validStates.append (_STATE_ENABLED); |
_validStates.append (STATE_ENABLED); |
_validStates.append (_STATE_ENABLEDDEGRADED); |
_validStates.append (STATE_ENABLEDDEGRADED); |
_validStates.append (_STATE_DISABLED); |
_validStates.append (STATE_DISABLED); |
_supportedStates.append (_STATE_ENABLED); |
_supportedStates.append (STATE_ENABLED); |
_supportedStates.append (_STATE_DISABLED); |
_supportedStates.append (STATE_DISABLED); |
_validRepeatPolicies.append (_POLICY_UNKNOWN); | _validRepeatPolicies.append (_POLICY_UNKNOWN); |
_validRepeatPolicies.append (_POLICY_OTHER); | _validRepeatPolicies.append (_POLICY_OTHER); |
_validRepeatPolicies.append (_POLICY_NONE); | _validRepeatPolicies.append (_POLICY_NONE); |
|
|
_supportedErrorPolicies.append (_ERRORPOLICY_IGNORE); | _supportedErrorPolicies.append (_ERRORPOLICY_IGNORE); |
_supportedErrorPolicies.append (_ERRORPOLICY_DISABLE); | _supportedErrorPolicies.append (_ERRORPOLICY_DISABLE); |
_supportedErrorPolicies.append (_ERRORPOLICY_REMOVE); | _supportedErrorPolicies.append (_ERRORPOLICY_REMOVE); |
_validPersistenceTypes.append (_PERSISTENCE_OTHER); |
_validPersistenceTypes.append (PERSISTENCE_OTHER); |
_validPersistenceTypes.append (_PERSISTENCE_PERMANENT); |
_validPersistenceTypes.append (PERSISTENCE_PERMANENT); |
_validPersistenceTypes.append (_PERSISTENCE_TRANSIENT); |
_validPersistenceTypes.append (PERSISTENCE_TRANSIENT); |
_supportedPersistenceTypes.append (_PERSISTENCE_PERMANENT); |
_supportedPersistenceTypes.append (PERSISTENCE_PERMANENT); |
_supportedPersistenceTypes.append (_PERSISTENCE_TRANSIENT); |
_supportedPersistenceTypes.append (PERSISTENCE_TRANSIENT); |
_validSNMPVersion.append (_SNMPV1_TRAP); |
_validSNMPVersion.append (SNMPV1_TRAP); |
_validSNMPVersion.append (_SNMPV2C_TRAP); |
_validSNMPVersion.append (SNMPV2C_TRAP); |
_validSNMPVersion.append (_SNMPV2C_INFORM); |
_validSNMPVersion.append (SNMPV2C_INFORM); |
_validSNMPVersion.append (_SNMPV3_TRAP); |
_validSNMPVersion.append (SNMPV3_TRAP); |
_validSNMPVersion.append (_SNMPV3_INFORM); |
_validSNMPVersion.append (SNMPV3_INFORM); |
_supportedSNMPVersion.append (_SNMPV1_TRAP); |
_supportedSNMPVersion.append (SNMPV1_TRAP); |
_supportedSNMPVersion.append (_SNMPV2C_TRAP); |
_supportedSNMPVersion.append (SNMPV2C_TRAP); |
| |
// | // |
// Set arrays of names of supported properties for each class | // Set arrays of names of supported properties for each class |
|
|
// must be appended here. When support for a new property is added, the | // must be appended here. When support for a new property is added, the |
// property name must be appended to the appropriate array(s) here. | // property name must be appended to the appropriate array(s) here. |
// | // |
_supportedSubscriptionProperties.append (_PROPERTY_FILTER); |
_supportedSubscriptionProperties.append (PEGASUS_PROPERTYNAME_FILTER); |
_supportedSubscriptionProperties.append (_PROPERTY_HANDLER); |
_supportedSubscriptionProperties.append (PEGASUS_PROPERTYNAME_HANDLER); |
_supportedSubscriptionProperties.append (_PROPERTY_ONFATALERRORPOLICY); | _supportedSubscriptionProperties.append (_PROPERTY_ONFATALERRORPOLICY); |
_supportedSubscriptionProperties.append (_PROPERTY_OTHERONFATALERRORPOLICY); | _supportedSubscriptionProperties.append (_PROPERTY_OTHERONFATALERRORPOLICY); |
_supportedSubscriptionProperties.append | _supportedSubscriptionProperties.append |
(_PROPERTY_FAILURETRIGGERTIMEINTERVAL); | (_PROPERTY_FAILURETRIGGERTIMEINTERVAL); |
_supportedSubscriptionProperties.append (_PROPERTY_STATE); |
_supportedSubscriptionProperties.append (PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE); |
_supportedSubscriptionProperties.append (_PROPERTY_OTHERSTATE); | _supportedSubscriptionProperties.append (_PROPERTY_OTHERSTATE); |
_supportedSubscriptionProperties.append (_PROPERTY_LASTCHANGE); | _supportedSubscriptionProperties.append (_PROPERTY_LASTCHANGE); |
_supportedSubscriptionProperties.append (_PROPERTY_DURATION); | _supportedSubscriptionProperties.append (_PROPERTY_DURATION); |
|
|
_supportedFilterProperties.append (_PROPERTY_ELEMENTNAME); | _supportedFilterProperties.append (_PROPERTY_ELEMENTNAME); |
_supportedFilterProperties.append (_PROPERTY_SYSTEMCREATIONCLASSNAME); | _supportedFilterProperties.append (_PROPERTY_SYSTEMCREATIONCLASSNAME); |
_supportedFilterProperties.append (_PROPERTY_SYSTEMNAME); | _supportedFilterProperties.append (_PROPERTY_SYSTEMNAME); |
_supportedFilterProperties.append (_PROPERTY_CREATIONCLASSNAME); |
_supportedFilterProperties.append (PEGASUS_PROPERTYNAME_CREATIONCLASSNAME); |
_supportedFilterProperties.append (_PROPERTY_NAME); |
_supportedFilterProperties.append (PEGASUS_PROPERTYNAME_NAME); |
_supportedFilterProperties.append (_PROPERTY_SOURCENAMESPACE); | _supportedFilterProperties.append (_PROPERTY_SOURCENAMESPACE); |
_supportedFilterProperties.append (_PROPERTY_QUERY); |
_supportedFilterProperties.append (PEGASUS_PROPERTYNAME_QUERY); |
_supportedFilterProperties.append (_PROPERTY_QUERYLANGUAGE); |
_supportedFilterProperties.append (PEGASUS_PROPERTYNAME_QUERYLANGUAGE); |
| |
Array <CIMName> commonListenerDestinationProperties; | Array <CIMName> commonListenerDestinationProperties; |
commonListenerDestinationProperties.append (_PROPERTY_CAPTION); | commonListenerDestinationProperties.append (_PROPERTY_CAPTION); |
|
|
commonListenerDestinationProperties.append | commonListenerDestinationProperties.append |
(_PROPERTY_SYSTEMCREATIONCLASSNAME); | (_PROPERTY_SYSTEMCREATIONCLASSNAME); |
commonListenerDestinationProperties.append (_PROPERTY_SYSTEMNAME); | commonListenerDestinationProperties.append (_PROPERTY_SYSTEMNAME); |
commonListenerDestinationProperties.append (_PROPERTY_CREATIONCLASSNAME); |
commonListenerDestinationProperties.append (PEGASUS_PROPERTYNAME_CREATIONCLASSNAME); |
commonListenerDestinationProperties.append (_PROPERTY_NAME); |
commonListenerDestinationProperties.append (PEGASUS_PROPERTYNAME_NAME); |
commonListenerDestinationProperties.append (_PROPERTY_PERSISTENCETYPE); |
commonListenerDestinationProperties.append (PEGASUS_PROPERTYNAME_PERSISTENCETYPE); |
commonListenerDestinationProperties.append (_PROPERTY_OTHERPERSISTENCETYPE); | commonListenerDestinationProperties.append (_PROPERTY_OTHERPERSISTENCETYPE); |
| |
_supportedCIMXMLHandlerProperties = commonListenerDestinationProperties; | _supportedCIMXMLHandlerProperties = commonListenerDestinationProperties; |
|
|
_supportedSNMPHandlerProperties.append (_PROPERTY_TARGETHOSTFORMAT); | _supportedSNMPHandlerProperties.append (_PROPERTY_TARGETHOSTFORMAT); |
_supportedSNMPHandlerProperties.append (_PROPERTY_OTHERTARGETHOSTFORMAT); | _supportedSNMPHandlerProperties.append (_PROPERTY_OTHERTARGETHOSTFORMAT); |
_supportedSNMPHandlerProperties.append (_PROPERTY_PORTNUMBER); | _supportedSNMPHandlerProperties.append (_PROPERTY_PORTNUMBER); |
_supportedSNMPHandlerProperties.append (_PROPERTY_SNMPVERSION); |
_supportedSNMPHandlerProperties.append (PEGASUS_PROPERTYNAME_SNMPVERSION); |
_supportedSNMPHandlerProperties.append (_PROPERTY_SNMPSECURITYNAME); | _supportedSNMPHandlerProperties.append (_PROPERTY_SNMPSECURITYNAME); |
_supportedSNMPHandlerProperties.append (_PROPERTY_SNMPENGINEID); | _supportedSNMPHandlerProperties.append (_PROPERTY_SNMPENGINEID); |
| |
|
|
// | // |
CIMValue subscriptionStateValue; | CIMValue subscriptionStateValue; |
subscriptionStateValue = instance.getProperty | subscriptionStateValue = instance.getProperty |
(instance.findProperty (_PROPERTY_STATE)).getValue (); |
(instance.findProperty (PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE)).getValue (); |
subscriptionStateValue.get (subscriptionState); | subscriptionStateValue.get (subscriptionState); |
| |
if ((subscriptionState == _STATE_ENABLED) || |
if ((subscriptionState == STATE_ENABLED) || |
(subscriptionState == _STATE_ENABLEDDEGRADED)) |
(subscriptionState == STATE_ENABLEDDEGRADED)) |
{ | { |
_getCreateParams (instance, indicationSubclasses, | _getCreateParams (instance, indicationSubclasses, |
indicationProviders, requiredProperties, | indicationProviders, requiredProperties, |
|
|
// | // |
Uint16 newState; | Uint16 newState; |
modifiedInstance.getProperty (modifiedInstance.findProperty | modifiedInstance.getProperty (modifiedInstance.findProperty |
(_PROPERTY_STATE)).getValue ().get (newState); |
(PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE)).getValue ().get (newState); |
| |
// | // |
// If Subscription State has changed, | // If Subscription State has changed, |
|
|
// If Subscription is to be enabled, and this is the first | // If Subscription is to be enabled, and this is the first |
// time, set Subscription Start Time | // time, set Subscription Start Time |
// | // |
if ((newState == _STATE_ENABLED) || |
if ((newState == STATE_ENABLED) || |
(newState == _STATE_ENABLEDDEGRADED)) |
(newState == STATE_ENABLEDDEGRADED)) |
{ | { |
// | // |
// If Subscription Start Time is null, set value | // If Subscription Start Time is null, set value |
|
|
String queryLanguage; | String queryLanguage; |
Array <CIMName> indicationSubclasses; | Array <CIMName> indicationSubclasses; |
| |
if (((newState == _STATE_ENABLED) || |
if (((newState == STATE_ENABLED) || |
(newState == _STATE_ENABLEDDEGRADED)) |
(newState == STATE_ENABLEDDEGRADED)) |
&& ((currentState != _STATE_ENABLED) && |
&& ((currentState != STATE_ENABLED) && |
(currentState != _STATE_ENABLEDDEGRADED))) |
(currentState != STATE_ENABLEDDEGRADED))) |
{ | { |
// | // |
// Subscription was previously not enabled but is now to | // Subscription was previously not enabled but is now to |
|
|
// If subscription is newly enabled, send Create requests | // If subscription is newly enabled, send Create requests |
// and enable providers | // and enable providers |
// | // |
if (((newState == _STATE_ENABLED) || |
if (((newState == STATE_ENABLED) || |
(newState == _STATE_ENABLEDDEGRADED)) |
(newState == STATE_ENABLEDDEGRADED)) |
&& ((currentState != _STATE_ENABLED) && |
&& ((currentState != STATE_ENABLED) && |
(currentState != _STATE_ENABLEDDEGRADED))) |
(currentState != STATE_ENABLEDDEGRADED))) |
{ | { |
instanceReference.setNameSpace (request->nameSpace); | instanceReference.setNameSpace (request->nameSpace); |
instance.setPath (instanceReference); | instance.setPath (instanceReference); |
|
|
// | // |
responseSent = true; | responseSent = true; |
} | } |
else if ((newState == _STATE_DISABLED) && |
else if ((newState == STATE_DISABLED) && |
((currentState == _STATE_ENABLED) || |
((currentState == STATE_ENABLED) || |
(currentState == _STATE_ENABLEDDEGRADED))) |
(currentState == STATE_ENABLEDDEGRADED))) |
{ | { |
// | // |
// Subscription was previously enabled but is now to be | // Subscription was previously enabled but is now to be |
|
|
CIMValue subscriptionStateValue; | CIMValue subscriptionStateValue; |
subscriptionStateValue = subscriptionInstance.getProperty | subscriptionStateValue = subscriptionInstance.getProperty |
(subscriptionInstance.findProperty | (subscriptionInstance.findProperty |
(_PROPERTY_STATE)).getValue (); |
(PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE)).getValue (); |
subscriptionStateValue.get (subscriptionState); | subscriptionStateValue.get (subscriptionState); |
| |
if ((subscriptionState == _STATE_ENABLED) || |
if ((subscriptionState == STATE_ENABLED) || |
(subscriptionState == _STATE_ENABLEDDEGRADED)) |
(subscriptionState == STATE_ENABLEDDEGRADED)) |
{ | { |
Array <ProviderClassList> indicationProviders; | Array <ProviderClassList> indicationProviders; |
Array <CIMName> indicationSubclasses; | Array <CIMName> indicationSubclasses; |
|
|
// Filter and Handler are key properties for Subscription | // Filter and Handler are key properties for Subscription |
// No other properties are required | // No other properties are required |
// | // |
_checkRequiredProperty (instance, _PROPERTY_FILTER, CIMTYPE_REFERENCE, |
_checkRequiredProperty (instance, PEGASUS_PROPERTYNAME_FILTER, CIMTYPE_REFERENCE, |
_MSG_KEY_PROPERTY); | _MSG_KEY_PROPERTY); |
_checkRequiredProperty (instance, _PROPERTY_HANDLER, CIMTYPE_REFERENCE, |
_checkRequiredProperty (instance, PEGASUS_PROPERTYNAME_HANDLER, CIMTYPE_REFERENCE, |
_MSG_KEY_PROPERTY); | _MSG_KEY_PROPERTY); |
| |
// | // |
// Get filter and handler property values | // Get filter and handler property values |
// | // |
CIMProperty filterProperty = instance.getProperty | CIMProperty filterProperty = instance.getProperty |
(instance.findProperty (_PROPERTY_FILTER)); |
(instance.findProperty (PEGASUS_PROPERTYNAME_FILTER)); |
CIMValue filterValue = filterProperty.getValue (); | CIMValue filterValue = filterProperty.getValue (); |
CIMObjectPath filterPath; | CIMObjectPath filterPath; |
filterValue.get (filterPath); | filterValue.get (filterPath); |
| |
CIMProperty handlerProperty = instance.getProperty | CIMProperty handlerProperty = instance.getProperty |
(instance.findProperty (_PROPERTY_HANDLER)); |
(instance.findProperty (PEGASUS_PROPERTYNAME_HANDLER)); |
CIMValue handlerValue = handlerProperty.getValue (); | CIMValue handlerValue = handlerProperty.getValue (); |
CIMObjectPath handlerPath; | CIMObjectPath handlerPath; |
handlerValue.get (handlerPath); | handlerValue.get (handlerPath); |
|
|
throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_INVALID_PARAMETER, | throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_INVALID_PARAMETER, |
MessageLoaderParms (_MSG_INVALID_VALUE_FOR_PROPERTY_KEY, | MessageLoaderParms (_MSG_INVALID_VALUE_FOR_PROPERTY_KEY, |
exceptionStr, | exceptionStr, |
origFilterPath.toString(), _PROPERTY_FILTER.getString())); |
origFilterPath.toString(), PEGASUS_PROPERTYNAME_FILTER.getString())); |
} | } |
} | } |
| |
|
|
throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_INVALID_PARAMETER, | throw PEGASUS_CIM_EXCEPTION_L (CIM_ERR_INVALID_PARAMETER, |
MessageLoaderParms (_MSG_INVALID_VALUE_FOR_PROPERTY_KEY, | MessageLoaderParms (_MSG_INVALID_VALUE_FOR_PROPERTY_KEY, |
exceptionStr, | exceptionStr, |
origHandlerPath.toString(), _PROPERTY_HANDLER.getString())); |
origHandlerPath.toString(), PEGASUS_PROPERTYNAME_HANDLER.getString())); |
} | } |
} | } |
| |
|
|
// Set the key bindings in the subscription instance | // Set the key bindings in the subscription instance |
// | // |
Array <CIMKeyBinding> kb; | Array <CIMKeyBinding> kb; |
kb.append (CIMKeyBinding (_PROPERTY_FILTER, filterValue)); |
kb.append (CIMKeyBinding (PEGASUS_PROPERTYNAME_FILTER, filterValue)); |
kb.append (CIMKeyBinding (_PROPERTY_HANDLER, handlerValue)); |
kb.append (CIMKeyBinding (PEGASUS_PROPERTYNAME_HANDLER, handlerValue)); |
| |
CIMObjectPath instanceRef = instance.getPath (); | CIMObjectPath instanceRef = instance.getPath (); |
instanceRef.setKeyBindings (kb); | instanceRef.setKeyBindings (kb); |
|
|
// Policy properties each has a default value, a corresponding | // Policy properties each has a default value, a corresponding |
// Other___ property, and a set of valid values | // Other___ property, and a set of valid values |
// | // |
_checkPropertyWithOther (instance, _PROPERTY_STATE, |
_checkPropertyWithOther (instance, PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE, |
_PROPERTY_OTHERSTATE, (Uint16) _STATE_ENABLED, |
_PROPERTY_OTHERSTATE, (Uint16) STATE_ENABLED, |
(Uint16) _STATE_OTHER, _validStates, _supportedStates); |
(Uint16) STATE_OTHER, _validStates, _supportedStates); |
| |
_checkPropertyWithOther (instance, _PROPERTY_REPEATNOTIFICATIONPOLICY, | _checkPropertyWithOther (instance, _PROPERTY_REPEATNOTIFICATIONPOLICY, |
_PROPERTY_OTHERREPEATNOTIFICATIONPOLICY, (Uint16) _POLICY_NONE, | _PROPERTY_OTHERREPEATNOTIFICATIONPOLICY, (Uint16) _POLICY_NONE, |
|
|
// If they exist but are NULL, set value to the default | // If they exist but are NULL, set value to the default |
// If they exist and are not NULL, validate the value | // If they exist and are not NULL, validate the value |
// | // |
_checkRequiredProperty (instance, _PROPERTY_NAME, CIMTYPE_STRING, |
_checkRequiredProperty (instance, PEGASUS_PROPERTYNAME_NAME, CIMTYPE_STRING, |
_MSG_KEY_PROPERTY); | _MSG_KEY_PROPERTY); |
| |
_initOrValidateStringProperty (instance, _PROPERTY_CREATIONCLASSNAME, |
_initOrValidateStringProperty (instance,PEGASUS_PROPERTYNAME_CREATIONCLASSNAME, |
instance.getClassName ().getString ()); | instance.getClassName ().getString ()); |
| |
_initOrValidateStringProperty (instance, _PROPERTY_SYSTEMNAME, | _initOrValidateStringProperty (instance, _PROPERTY_SYSTEMNAME, |
|
|
// | // |
// Query and QueryLanguage properties are required for Filter | // Query and QueryLanguage properties are required for Filter |
// | // |
_checkRequiredProperty (instance, _PROPERTY_QUERY, CIMTYPE_STRING, |
_checkRequiredProperty (instance, PEGASUS_PROPERTYNAME_QUERY, CIMTYPE_STRING, |
_MSG_PROPERTY); | _MSG_PROPERTY); |
_checkRequiredProperty (instance, _PROPERTY_QUERYLANGUAGE, |
_checkRequiredProperty (instance, PEGASUS_PROPERTYNAME_QUERYLANGUAGE, |
CIMTYPE_STRING, _MSG_PROPERTY); | CIMTYPE_STRING, _MSG_PROPERTY); |
| |
// | // |
|
|
// | // |
String queryLanguage; | String queryLanguage; |
instance.getProperty (instance.findProperty | instance.getProperty (instance.findProperty |
(_PROPERTY_QUERYLANGUAGE)).getValue ().get (queryLanguage); |
(PEGASUS_PROPERTYNAME_QUERYLANGUAGE)).getValue ().get (queryLanguage); |
| |
#ifdef PEGASUS_DISABLE_CQL | #ifdef PEGASUS_DISABLE_CQL |
// Special code to block CQL, if CQL is disabled | // Special code to block CQL, if CQL is disabled |
|
|
// is not an indication class | // is not an indication class |
// | // |
String filterQuery = instance.getProperty (instance.findProperty | String filterQuery = instance.getProperty (instance.findProperty |
(_PROPERTY_QUERY)).getValue ().toString (); |
(PEGASUS_PROPERTYNAME_QUERY)).getValue ().toString (); |
| |
QueryExpression queryExpression; | QueryExpression queryExpression; |
try | try |
|
|
_MSG_CLASS_NOT_SERVED)); | _MSG_CLASS_NOT_SERVED)); |
} | } |
#endif | #endif |
_checkPropertyWithOther (instance, _PROPERTY_PERSISTENCETYPE, |
_checkPropertyWithOther (instance, PEGASUS_PROPERTYNAME_PERSISTENCETYPE, |
_PROPERTY_OTHERPERSISTENCETYPE, (Uint16) _PERSISTENCE_PERMANENT, |
_PROPERTY_OTHERPERSISTENCETYPE, (Uint16) PERSISTENCE_PERMANENT, |
(Uint16) _PERSISTENCE_OTHER, _validPersistenceTypes, |
(Uint16) PERSISTENCE_OTHER, _validPersistenceTypes, |
_supportedPersistenceTypes); | _supportedPersistenceTypes); |
| |
// | // |
|
|
// | // |
// SNMPVersion property is required for SNMP Handler | // SNMPVersion property is required for SNMP Handler |
// | // |
_checkRequiredProperty (instance, _PROPERTY_SNMPVERSION, |
_checkRequiredProperty (instance, PEGASUS_PROPERTYNAME_SNMPVERSION, |
CIMTYPE_UINT16, _MSG_PROPERTY); | CIMTYPE_UINT16, _MSG_PROPERTY); |
| |
// Currently, only SNMPv1 trap and SNMPv2C trap are supported, | // Currently, only SNMPv1 trap and SNMPv2C trap are supported, |
// verify if the value of SNMPVersion is one of them | // verify if the value of SNMPVersion is one of them |
| |
_checkValue(instance, _PROPERTY_SNMPVERSION, |
_checkValue(instance, PEGASUS_PROPERTYNAME_SNMPVERSION, |
_validSNMPVersion, _supportedSNMPVersion); | _validSNMPVersion, _supportedSNMPVersion); |
| |
// | // |
|
|
// If one property specified, it must be Subscription State property | // If one property specified, it must be Subscription State property |
// | // |
else if ((request->propertyList.size () == 1) && | else if ((request->propertyList.size () == 1) && |
(!request->propertyList[0].equal (_PROPERTY_STATE))) |
(!request->propertyList[0].equal (PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE))) |
{ | { |
PEG_METHOD_EXIT (); | PEG_METHOD_EXIT (); |
throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, String::EMPTY); | throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, String::EMPTY); |
|
|
// | // |
// Check the SubscriptionState property in the modified instance | // Check the SubscriptionState property in the modified instance |
// | // |
_checkPropertyWithOther (modifiedInstance, _PROPERTY_STATE, |
_checkPropertyWithOther (modifiedInstance, PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE, |
_PROPERTY_OTHERSTATE, (Uint16) _STATE_ENABLED, (Uint16) _STATE_OTHER, |
_PROPERTY_OTHERSTATE, (Uint16) STATE_ENABLED, (Uint16) STATE_OTHER, |
_validStates, _supportedStates); | _validStates, _supportedStates); |
| |
// | // |
|
|
if (instanceReference.getClassName ().equal | if (instanceReference.getClassName ().equal |
(PEGASUS_CLASSNAME_INDFILTER)) | (PEGASUS_CLASSNAME_INDFILTER)) |
{ | { |
propName = _PROPERTY_FILTER; |
propName = PEGASUS_PROPERTYNAME_FILTER; |
} | } |
else if ((superClass.equal (PEGASUS_CLASSNAME_INDHANDLER)) || | else if ((superClass.equal (PEGASUS_CLASSNAME_INDHANDLER)) || |
(superClass.equal (PEGASUS_CLASSNAME_LSTNRDST))) | (superClass.equal (PEGASUS_CLASSNAME_LSTNRDST))) |
{ | { |
propName = _PROPERTY_HANDLER; |
propName = PEGASUS_PROPERTYNAME_HANDLER; |
| |
// | // |
// If deleting transient handler, first delete any referencing | // If deleting transient handler, first delete any referencing |
|
|
// exceptionStr.append (PEGASUS_CLASSNAME_INDFILTER.getString()); | // exceptionStr.append (PEGASUS_CLASSNAME_INDFILTER.getString()); |
exceptionStr.append ("$1"); | exceptionStr.append ("$1"); |
exceptionStr.append (" "); | exceptionStr.append (" "); |
// exceptionStr.append (_PROPERTY_QUERY.getString()); |
// exceptionStr.append (PEGASUS_PROPERTYNAME_QUERY.getString()); |
exceptionStr.append ("$2"); | exceptionStr.append ("$2"); |
exceptionStr.append (_MSG_PROPERTY); | exceptionStr.append (_MSG_PROPERTY); |
| |
|
|
_MSG_INVALID_CLASSNAME_IN_FROM_PROPERTY_KEY, exceptionStr, | _MSG_INVALID_CLASSNAME_IN_FROM_PROPERTY_KEY, exceptionStr, |
indicationClassName.getString (), | indicationClassName.getString (), |
PEGASUS_CLASSNAME_INDFILTER.getString (), | PEGASUS_CLASSNAME_INDFILTER.getString (), |
_PROPERTY_QUERY.getString ())); |
PEGASUS_PROPERTYNAME_QUERY.getString ())); |
} | } |
| |
PEG_METHOD_EXIT (); | PEG_METHOD_EXIT (); |
|
|
CIMValue subscriptionStateValue; | CIMValue subscriptionStateValue; |
subscriptionStateValue = subscriptionInstance.getProperty | subscriptionStateValue = subscriptionInstance.getProperty |
(subscriptionInstance.findProperty | (subscriptionInstance.findProperty |
(_PROPERTY_STATE)).getValue (); |
(PEGASUS_PROPERTYNAME_SUBSCRIPTION_STATE)).getValue (); |
subscriptionStateValue.get (subscriptionState); | subscriptionStateValue.get (subscriptionState); |
| |
if ((subscriptionState == _STATE_ENABLED) || |
if ((subscriptionState == STATE_ENABLED) || |
(subscriptionState == _STATE_ENABLEDDEGRADED)) |
(subscriptionState == STATE_ENABLEDDEGRADED)) |
{ | { |
Array <ProviderClassList> indicationProviders; | Array <ProviderClassList> indicationProviders; |
Array <CIMName> indicationSubclasses; | Array <CIMName> indicationSubclasses; |
|
|
CIMNamespaceName handlerNS; | CIMNamespaceName handlerNS; |
Array <CIMKeyBinding> handlerKeyBindings; | Array <CIMKeyBinding> handlerKeyBindings; |
filterValue = subscription.getProperty (subscription.findProperty | filterValue = subscription.getProperty (subscription.findProperty |
(_PROPERTY_FILTER)).getValue (); |
(PEGASUS_PROPERTYNAME_FILTER)).getValue (); |
filterValue.get (filterPath); | filterValue.get (filterPath); |
| |
// | // |
|
|
filterKeyBindings = filterPath.getKeyBindings (); | filterKeyBindings = filterPath.getKeyBindings (); |
for (Uint32 i = 0; i < filterKeyBindings.size (); i++) | for (Uint32 i = 0; i < filterKeyBindings.size (); i++) |
{ | { |
if (filterKeyBindings [i].getName ().equal (_PROPERTY_NAME)) |
if (filterKeyBindings [i].getName ().equal (PEGASUS_PROPERTYNAME_NAME)) |
{ | { |
logString.append (filterKeyBindings [i].getValue ()); | logString.append (filterKeyBindings [i].getValue ()); |
logString.append (", "); | logString.append (", "); |
|
|
} | } |
handlerValue = subscription.getProperty | handlerValue = subscription.getProperty |
(subscription.findProperty | (subscription.findProperty |
(_PROPERTY_HANDLER)).getValue (); |
(PEGASUS_PROPERTYNAME_HANDLER)).getValue (); |
handlerValue.get (handlerPath); | handlerValue.get (handlerPath); |
| |
// | // |
|
|
handlerKeyBindings = handlerPath.getKeyBindings (); | handlerKeyBindings = handlerPath.getKeyBindings (); |
for (Uint32 j = 0; j < handlerKeyBindings.size (); j++) | for (Uint32 j = 0; j < handlerKeyBindings.size (); j++) |
{ | { |
if (handlerKeyBindings [j].getName ().equal (_PROPERTY_NAME)) |
if (handlerKeyBindings [j].getName ().equal (PEGASUS_PROPERTYNAME_NAME)) |
{ | { |
logString.append (handlerKeyBindings [j].getValue ()); | logString.append (handlerKeyBindings [j].getValue ()); |
break; | break; |
|
|
String logString; | String logString; |
| |
logString = provider.getProperty (provider.findProperty | logString = provider.getProperty (provider.findProperty |
(_PROPERTY_NAME)).getValue ().toString (); |
(PEGASUS_PROPERTYNAME_NAME)).getValue ().toString (); |
| |
return logString; | return logString; |
} | } |