📄 providerregistrationprovider.cpp
字号:
{ throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, className.getString()); } // // Check all required properties are set // if (className.equal (PEGASUS_CLASSNAME_PROVIDERMODULE)) { // // Name, Version, InterfaceType, InterfaceVersion, and Location // properties must be set // OperationalStatus property needs to be set. If not, set to default // if (instanceObject.findProperty(_PROPERTY_PROVIDERMODULE_NAME) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing Name which is required property in PG_ProviderModule class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_NAME_IN_PG_PROVIDERMODULE", "Missing Name which is required property in PG_ProviderModule class.")); } if (instanceObject.findProperty(_PROPERTY_VENDOR) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing Vendor which is required property in PG_ProviderModule class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_VENDOR_IN_PG_PROVIDERMODULE", "Missing Vendor which is required property in PG_ProviderModule class.")); } if (instanceObject.findProperty(_PROPERTY_VERSION) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing Version which is required property in PG_ProviderModule class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_VERSION_IN_PG_PROVIDERMODULE", "Missing Version which is required property in PG_ProviderModule class.")); } Uint32 ifcTypeIndex = instanceObject.findProperty(_PROPERTY_INTERFACETYPE); if (ifcTypeIndex == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing InterfaceType which is required property in PG_ProviderModule class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_INTERFACETYPE_IN_PG_PROVIDERMODULE", "Missing InterfaceType which is required property in PG_ProviderModule class.")); } String ifcTypeString; instanceObject.getProperty(ifcTypeIndex).getValue(). get(ifcTypeString); if (ifcTypeString != "C++Default"#ifdef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER && ifcTypeString != "CMPI"#endif#ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER && (ifcTypeString != "JMPI") && (ifcTypeString != "JMPIExperimental")#endif ) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, //"Unsupported InterfaceType value: \"" + ifcTypeString + "\""); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.UNSUPPORTED_INTERFACETYPE_VALUE", "Unsupported InterfaceType value: \"$0\"",ifcTypeString)); } Uint32 ifcVersionIndex = instanceObject.findProperty(_PROPERTY_INTERFACEVERSION); if (ifcVersionIndex == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing InterfaceVersion which is required property in PG_ProviderModule class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_INTERFACEVERSION_IN_PG_PROVIDERMODULE", "Missing InterfaceVersion which is required property in PG_ProviderModule class.")); } String ifcVersionString; instanceObject.getProperty(ifcVersionIndex).getValue(). get(ifcVersionString); if (#ifdef PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER (ifcTypeString == "CMPI" && ifcVersionString != "2.0.0") ||#endif#ifdef PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER (ifcTypeString == "JMPI" && ifcVersionString != "1.0.0" && ifcVersionString != "2.0.0" && ifcVersionString != "2.2.0") || (ifcTypeString == "JMPIExperimental" && ifcVersionString != "0.0.1") ||#endif (ifcTypeString == "C++Default" && ifcVersionString != "2.1.0" && ifcVersionString != "2.2.0" && ifcVersionString != "2.3.0" && ifcVersionString != "2.5.0" && ifcVersionString != "2.6.0")) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED, //"Unsupported InterfaceVersion value: \"" + ifcVersionString + // "\""); String unsupported = "InterfaceVersion"; throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.UNSUPPORTED_INTERFACEVERSION_VALUE", "Unsupported InterfaceVersion value: \"$0\"",ifcVersionString)); } if (instanceObject.findProperty(_PROPERTY_LOCATION) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing Location which is required property in PG_ProviderModule class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_LOCATION_IN_PG_PROVIDERMODULE", "Missing Location which is required property in PG_ProviderModule class.")); } if (instanceObject.findProperty(_PROPERTY_OPERATIONALSTATUS) == PEG_NOT_FOUND) { Array<Uint16> _operationalStatus; _operationalStatus.append(CIM_MSE_OPSTATUS_VALUE_OK); instance.addProperty (CIMProperty (_PROPERTY_OPERATIONALSTATUS, _operationalStatus)); } // // Validate the UserContext property // CIMValue userContextValue; Uint32 userContextIndex = instanceObject.findProperty( PEGASUS_PROPERTYNAME_MODULE_USERCONTEXT); if (userContextIndex != PEG_NOT_FOUND) { userContextValue = instanceObject.getProperty(userContextIndex).getValue(); } if (!userContextValue.isNull()) {#ifdef PEGASUS_DISABLE_PROV_USERCTXT throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider." "ProviderRegistrationProvider.USERCONTEXT_UNSUPPORTED", "The UserContext property in the PG_ProviderModule class is " "not supported."));#else Uint16 userContext; userContextValue.get(userContext); if (!(# ifndef PEGASUS_DISABLE_PROV_USERCTXT_REQUESTOR (userContext == PG_PROVMODULE_USERCTXT_REQUESTOR) ||# endif# ifndef PEGASUS_DISABLE_PROV_USERCTXT_DESIGNATED (userContext == PG_PROVMODULE_USERCTXT_DESIGNATED) ||# endif# ifndef PEGASUS_DISABLE_PROV_USERCTXT_PRIVILEGED (userContext == PG_PROVMODULE_USERCTXT_PRIVILEGED) ||# endif# ifndef PEGASUS_DISABLE_PROV_USERCTXT_CIMSERVER (userContext == PG_PROVMODULE_USERCTXT_CIMSERVER) ||# endif 0)) { throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED, MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider." "ProviderRegistrationProvider." "UNSUPPORTED_USERCONTEXT_VALUE", "Unsupported UserContext value: \"$0\".", userContext)); } // DesignatedUserContext property is required when UserContext == 3 if (userContext == PG_PROVMODULE_USERCTXT_DESIGNATED) { Uint32 designatedUserIndex = instanceObject.findProperty( PEGASUS_PROPERTYNAME_MODULE_DESIGNATEDUSER); if ((designatedUserIndex == PEG_NOT_FOUND) || instanceObject.getProperty(designatedUserIndex).getValue() .isNull()) { throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider." "ProviderRegistrationProvider." "MISSING_DESIGNATEDUSER_IN_PG_PROVIDERMODULE", "Missing DesignatedUserContext property in " "PG_ProviderModule instance.")); } else { // Validate that DesignatedUserContext is of String type String designatedUser; instanceObject.getProperty(designatedUserIndex).getValue() .get(designatedUser); } }#endif } } else if (className.equal (PEGASUS_CLASSNAME_PROVIDERCAPABILITIES)) { // // ProviderModuleName, ProviderName, InstanceID, ClassName, // Namespaces, and ProviderType properties must be set // if (instanceObject.findProperty(_PROPERTY_PROVIDERMODULENAME) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing ProviderModuleName which is required property in PG_ProviderCapabilities class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_PROVIDERMODULENAME_IN_PG_PROVIDERCAPABILITIES", "Missing ProviderModuleName which is required property in PG_ProviderCapabilities class.")); } if (instanceObject.findProperty(_PROPERTY_PROVIDERNAME) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing ProviderName which is required property in PG_ProviderCapabilities class."); String missing = "ProviderName"; throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_REQUIRED_PROPERTY", "Missing ProviderName which is required property in PG_ProviderCapabilities class.")); } if (instanceObject.findProperty(_PROPERTY_CAPABILITYID) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing CapabilityID which is required property in PG_ProviderCapabilities class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSINGCAPABILITYID_IN_PG_PROVIDERCAPABILITIES", "Missing CapabilityID which is required property in PG_ProviderCapabilities class.")); } if (instanceObject.findProperty(_PROPERTY_CLASSNAME) == PEG_NOT_FOUND) { //l10n 485 //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing ClassName which is required property in PG_ProviderCapabilities class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_CLASSNAME_IN_PG_PROVIDERCAPABILITIES", "Missing ClassName which is required property in PG_ProviderCapabilities class.")); } // Validate the Namespaces property Uint32 namespacesIndex = instanceObject.findProperty(_PROPERTY_NAMESPACES); Array<String> namespacesArray; if (namespacesIndex != PEG_NOT_FOUND) { CIMValue namespacesValue = instanceObject.getProperty(namespacesIndex).getValue(); if (!namespacesValue.isNull()) { namespacesValue.get(namespacesArray); } } if (namespacesArray.size() == 0) { throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider." "ProviderRegistrationProvider." "MISSING_NAMESPACES_IN_PG_PROVIDERCAPABILITIES", "Missing Namespaces which is required property in " "PG_ProviderCapabilities class.")); } // Validate the ProviderType property Uint32 providerTypeIndex = instanceObject.findProperty(_PROPERTY_PROVIDERTYPE); Array<Uint16> providerTypeArray; if (providerTypeIndex != PEG_NOT_FOUND) { CIMValue providerTypeValue = instanceObject.getProperty(providerTypeIndex).getValue(); if (!providerTypeValue.isNull()) { providerTypeValue.get(providerTypeArray); } } if (providerTypeArray.size() == 0) { throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider." "ProviderRegistrationProvider." "MISSING_PROVIDERTYPE_IN_PG_PROVIDERCAPABILITIES", "Missing ProviderType which is required property in " "PG_ProviderCapabilities class.")); } for (Uint32 i = 0; i < providerTypeArray.size(); i++) { if ((providerTypeArray[i] < 2) ||#ifdef PEGASUS_DISABLE_EXECQUERY (providerTypeArray[i] > 6)#else (providerTypeArray[i] > 7)#endif ) { throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms( "ControlProviders.ProviderRegistrationProvider." "ProviderRegistrationProvider.UNSUPPORTED_" "PROVIDERTYPE_IN_PG_PROVIDERCAPABILITIES", "Unsupported ProviderType value \"$0\" in " "PG_ProviderCapabilities instance.", providerTypeArray[i])); } } } else if (className.equal (PEGASUS_CLASSNAME_CONSUMERCAPABILITIES)) { // // ProviderModuleName, ProviderName, CapabilityID, ProviderType, // and Destinations properties must be set // if (instanceObject.findProperty(_PROPERTY_PROVIDERMODULENAME) == PEG_NOT_FOUND) {//L10N_ TODO DONE //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing ProviderModuleName which is required property in PG_ConsumerCapabilities class."); MessageLoaderParms parms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_PROVIDER_MODULE_NAME_WHICH_IS_REQUIRED", "Missing ProviderModuleName which is required property in PG_ConsumerCapabilities class."); throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, parms); } if (instanceObject.findProperty(_PROPERTY_PROVIDERNAME) == PEG_NOT_FOUND) {//L10N_ TODO DONE //throw PEGASUS_CIM_EXCEPTION(CIM_ERR_FAILED, //"Missing ProviderName which is required property in PG_ConsumerCapabilities class."); MessageLoaderParms parms( "ControlProviders.ProviderRegistrationProvider.ProviderRegistrationProvider.MISSING_PROVIDER_NAME_WHICH_IS_REQUIRED", "Missing ProviderName which is required property in PG_ConsumerCapabilities class.");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -