⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 providerregistrationprovider.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    {	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 + -