本文整理汇总了C++中CIMPropertyList::isNull方法的典型用法代码示例。如果您正苦于以下问题:C++ CIMPropertyList::isNull方法的具体用法?C++ CIMPropertyList::isNull怎么用?C++ CIMPropertyList::isNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CIMPropertyList
的用法示例。
在下文中一共展示了CIMPropertyList::isNull方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: test03
void test03()
{
//
// Define query:
//
const char TEXT[] =
"SELECT *\n"
"FROM AnotherClass\n";
//
// Will test WQLParser::parse(const String&, WQLSelectStatement&)
// and WQLParser::parse(const char*, WQLSelectStatement&) forms
//
String text (TEXT);
if (verbose)
{
cout << text << endl;
}
//
// Parse the text:
//
WQLSelectStatement statement;
try
{
WQLParser::parse(text, statement);
if (verbose)
{
statement.print();
}
//
// Test WQLSelectStatement functions
//
assert (statement.getClassName().equal ("AnotherClass"));
assert (statement.getAllProperties());
CIMPropertyList propList = statement.getSelectPropertyList();
assert (propList.isNull());
assert (!statement.hasWhereClause());
assert (statement.getWherePropertyNameCount() == 0);
CIMPropertyList wherePropList = statement.getWherePropertyList();
assert (!wherePropList.isNull());
assert (wherePropList.size() == 0);
}
catch (Exception& e)
{
cerr << "Exception: " << e.getMessage() << endl;
exit(1);
}
}
示例2: validateTextFormatParameters
void IndicationFormatter::validateTextFormatParameters (
const CIMPropertyList & propertyList,
const CIMClass & indicationClass,
const Array<String> & textFormatParams)
{
PEG_METHOD_ENTER (TRC_IND_FORMATTER,
"IndicationFormatter::validateTextFormatParameters");
Array <String> indicationClassProperties;
String exceptionStr;
// All the properties are selected
if (propertyList.isNull ())
{
for (Uint32 i = 0; i < indicationClass.getPropertyCount (); i++)
{
indicationClassProperties.append(
indicationClass.getProperty (i).getName ().getString());
}
}
// partial properties are selected
else
{
Array<CIMName> propertyNames = propertyList.getPropertyNameArray();
for (Uint32 j = 0; j < propertyNames.size(); j++)
{
indicationClassProperties.append(propertyNames[j].getString());
}
}
// check if the textFormatParams is contained in the
// indicationClassProperties
for (Uint32 k = 0; k < textFormatParams.size(); k++)
{
if (!Contains(indicationClassProperties, textFormatParams[k]))
{
// The property name in TextFormatParameters is not
// included in the select clause of the associated filter query
MessageLoaderParms parms(
"IndicationFormatter.IndicationFormatter._MSG_MISS_MATCHED_PROPERTY_NAME",
"The property name $0 in $1 does not match the properties in the select clause",
textFormatParams[k],
_PROPERTY_TEXTFORMATPARAMETERS.getString());
exceptionStr.append(MessageLoader::getMessage(parms));
PEG_METHOD_EXIT();
throw PEGASUS_CIM_EXCEPTION (
CIM_ERR_INVALID_PARAMETER, exceptionStr);
}
}
PEG_METHOD_EXIT();
}
示例3: modifyInstance
void PG_TestPropertyTypes::modifyInstance(
const OperationContext& context,
const CIMObjectPath& instanceReference,
const CIMInstance& instanceObject,
const Boolean includeQualifiers,
const CIMPropertyList& propertyList,
ResponseHandler& handler)
{
// This provider only allows partial instance modification for the
// PropertyUint8 property.
if (!(propertyList.isNull() ||
((propertyList.size() == 1) &&
(propertyList[0].equal("PropertyUint8")))))
{
throw CIMException(CIM_ERR_NOT_SUPPORTED);
}
// synchronously get references
Array<CIMObjectPath> references =
_enumerateInstanceNames(context, instanceReference);
// ensure the Namespace is valid
if (!instanceReference.getNameSpace().equal("test/static"))
{
throw CIMException(CIM_ERR_INVALID_NAMESPACE);
}
// ensure the class existing in the specified namespace
if (!instanceReference.getClassName().equal("PG_TestPropertyTypes"))
{
throw CIMException(CIM_ERR_INVALID_CLASS);
}
// ensure the property values are valid
_testPropertyTypesValue(instanceObject);
// ensure the request object exists
Uint32 index = findObjectPath(references, instanceReference);
if (index == PEG_NOT_FOUND)
{
throw CIMException(CIM_ERR_NOT_FOUND);
}
// begin processing the request
handler.processing();
// We do nothing here since we like to have static result
// complete processing the request
handler.complete();
}
示例4: _printPropertyList
void _printPropertyList(CIMPropertyList& propList)
{
if (propList.isNull())
{
cout << "-----all properties required" << endl;
}
else if (propList.size() == 0)
{
cout << "-----no properties required" << endl;
}
else
{
for (Uint32 n = 0; n < propList.size(); n++)
{
cout << "-----Required property " << propList[n].getString() << endl;
}
}
}
示例5: filter
// KS Mar 05 - The following removal functions are very inefficient and should
// be optimized to avoid the multiple memory moves. Actually, the remove
// qualifiers should be added as a function and optimized that once.
void CIMInstanceRep::filter(
Boolean includeQualifiers,
Boolean includeClassOrigin,
const CIMPropertyList& propertyList)
{
// Filter any qualifiers from this instance.
if (!includeQualifiers && _qualifiers.getCount() > 0)
{
while (_qualifiers.getCount())
{
_qualifiers.removeQualifier(0);
}
}
// For each property, remove if not in propertylist
for (Uint32 i = 0 ; i < _properties.size(); i++)
{
CIMConstProperty p = getProperty(i);
CIMName name = p.getName();
Array<CIMName> pl = propertyList.getPropertyNameArray();
if (propertyList.isNull() || Contains(pl, name))
{
// test ClassOrigin and possibly remove
if (!includeClassOrigin)
{
_properties[i].setClassOrigin(CIMName());
}
// remove qualifiers if required.
if (!includeQualifiers && _properties[i].getQualifierCount() > 0)
{
while (_properties[i].getQualifierCount() > 0)
{
_properties[i].removeQualifier(0);
}
}
}
else
{
_properties.remove(i--);
}
}
return;
}
示例6: _putXMLInstance
PEGASUS_NAMESPACE_BEGIN
void SCMOInternalXmlEncoder::_putXMLInstance(
CIMBuffer& out,
const SCMOInstance& ci,
const CIMPropertyList& propertyList )
{
if (ci.isUninitialized())
{
out.putUint32(0);
out.putUint32(0);
out.putString(String());
out.putNamespaceName(CIMNamespaceName());
}
else
{
Buffer buf(4096);
// Serialize instance as XML.
if (propertyList.isNull())
{
Array<Uint32> emptyNodes;
SCMOXmlWriter::appendInstanceElement(
buf,
ci,
false,
emptyNodes);
}
else
{
Array<propertyFilterNodesArray_t> propFilterNodesArrays;
// This searches for an already created array of nodes,
// if not found, creates it inside propFilterNodesArrays
const Array<Uint32> & nodes=
SCMOXmlWriter::getFilteredNodesArray(
propFilterNodesArrays,
ci,
propertyList);
SCMOXmlWriter::appendInstanceElement(
buf,
ci,
true,
nodes);
}
buf.append('\0');
out.putUint32(buf.size());
out.putBytes(buf.getData(), buf.size());
buf.clear();
if (0 == ci.getClassName())
{
out.putUint32(0);
out.putString(String());
out.putNamespaceName(CIMNamespaceName());
}
else
{
// Serialize object path as XML.
SCMOXmlWriter::appendValueReferenceElement(buf, ci);
buf.append('\0');
out.putUint32(buf.size());
out.putBytes(buf.getData(), buf.size());
// Write hostname and namespace in UTF-16 format
Uint32 len=0;
const char* hn = ci.getHostName_l(len);
out.putUTF8AsString(hn, len);
const char * ns = ci.getNameSpace_l(len);
out.putUTF8AsString(ns, len);
}
}
}
示例7: test01
void test01()
{
//
// Create a property source (a place for the evaluate to get the
// values of properties from):
//
WQLSimplePropertySource source;
assert(source.addValue("x", WQLOperand(10, WQL_INTEGER_VALUE_TAG)));
assert(source.addValue("y", WQLOperand(20, WQL_INTEGER_VALUE_TAG)));
assert(source.addValue("z", WQLOperand(1.5, WQL_DOUBLE_VALUE_TAG)));
//
// Define query:
//
const char TEXT[] =
"SELECT x,y,z\n"
"FROM MyClass\n"
"WHERE x > 5 AND y < 25 AND z > 1.2";
//
// Will test WQLParser::parse(const Array<Sint8>&, WQLSelectStatement&)
// and WQLParser::parse(const char*, WQLSelectStatement&) forms
//
Array<char> text;
text.append(TEXT, sizeof(TEXT));
if (verbose)
{
cout << text.getData() << endl;
}
//
// Parse the text:
//
WQLSelectStatement statement;
try
{
WQLParser::parse(text, statement);
if (verbose)
{
statement.print();
}
//
// Test WQLSelectStatement functions
//
assert (statement.getClassName().equal ("MyClass"));
assert (!statement.getAllProperties());
assert (statement.getSelectPropertyNameCount() == 3);
CIMName propName = statement.getSelectPropertyName (0);
assert ((propName.equal ("x")) || (propName.equal ("y")) ||
(propName.equal ("z")));
CIMPropertyList propList = statement.getSelectPropertyList();
assert (!propList.isNull());
assert (propList.size() == 3);
assert ((propList[0].equal ("x")) || (propList[0].equal ("y")) ||
(propList[0].equal ("z")));
assert (statement.hasWhereClause());
assert (statement.getWherePropertyNameCount() == 3);
CIMName wherePropName = statement.getWherePropertyName (0);
assert ((wherePropName.equal ("x")) || (wherePropName.equal ("y")) ||
(wherePropName.equal ("z")));
CIMPropertyList wherePropList = statement.getWherePropertyList();
assert (!wherePropList.isNull());
assert (wherePropList.size() == 3);
assert ((wherePropList[0].equal ("x")) ||
(wherePropList[0].equal ("y")) ||
(wherePropList[0].equal ("z")));
assert (statement.evaluateWhereClause(&source));
}
catch (Exception& e)
{
cerr << "Exception: " << e.getMessage() << endl;
exit(1);
}
}
示例8: test02
void test02()
{
//
// Create a property source (a place for the evaluate to get the
// values of properties from):
//
WQLSimplePropertySource source;
assert(source.addValue("a", WQLOperand(5, WQL_INTEGER_VALUE_TAG)));
assert(source.addValue("b", WQLOperand(25, WQL_INTEGER_VALUE_TAG)));
assert(source.addValue("c", WQLOperand(0.9, WQL_DOUBLE_VALUE_TAG)));
assert(source.addValue("d", WQLOperand("Test", WQL_STRING_VALUE_TAG)));
//
// Define query:
//
const char TEXT[] =
"SELECT a,c,d\n"
"FROM YourClass\n"
"WHERE a > 5 AND b < 25 AND c > 1.2 AND d = \"Pass\"";
//
// Will test WQLParser::parse(const String&, WQLSelectStatement&)
// and WQLParser::parse(const char*, WQLSelectStatement&) forms
//
String text (TEXT);
if (verbose)
{
cout << text << endl;
}
//
// Parse the text:
//
WQLSelectStatement statement;
try
{
WQLParser::parse(text, statement);
if (verbose)
{
statement.print();
}
//
// Test WQLSelectStatement functions
//
assert (statement.getClassName().equal ("YourClass"));
assert (!statement.getAllProperties());
assert (statement.getSelectPropertyNameCount() == 3);
CIMName propName = statement.getSelectPropertyName (2);
assert ((propName.equal ("a")) || (propName.equal ("c")) ||
(propName.equal ("d")));
CIMPropertyList propList = statement.getSelectPropertyList();
assert (!propList.isNull());
assert (propList.size() == 3);
assert ((propList[2].equal ("a")) || (propList[2].equal ("c")) ||
(propList[2].equal ("d")));
assert (statement.hasWhereClause());
assert (statement.getWherePropertyNameCount() == 4);
CIMName wherePropName = statement.getWherePropertyName (3);
assert ((wherePropName.equal ("a")) || (wherePropName.equal ("b")) ||
(wherePropName.equal ("c")) || (wherePropName.equal ("d")));
CIMPropertyList wherePropList = statement.getWherePropertyList();
assert (!wherePropList.isNull());
assert (wherePropList.size() == 4);
assert ((wherePropList[3].equal ("a")) ||
(wherePropList[3].equal ("b")) ||
(wherePropList[3].equal ("c")) ||
(wherePropList[3].equal ("d")));
assert (!statement.evaluateWhereClause(&source));
}
catch (Exception& e)
{
cerr << "Exception: " << e.getMessage() << endl;
exit(1);
}
}
示例9: _modifyInstance
void ConfigSettingProvider::_modifyInstance(
const OperationContext & context,
const CIMObjectPath & instanceReference,
const CIMInstance& modifiedIns,
const CIMPropertyList& propertyList,
Uint32 timeoutSeconds)
{
PEG_METHOD_ENTER(TRC_CONFIG,
"ConfigSettingProvider::_modifyInstance()");
//
// get userName
//
String userName;
try
{
IdentityContainer container = context.get(IdentityContainer::NAME);
userName = container.getUserName();
}
catch (...)
{
userName = String::EMPTY;
}
//
// verify user authorizations
// z/OS: authorization check is done in CIMOpReqAuth already
//
#ifndef PEGASUS_OS_ZOS
if (userName != String::EMPTY)
{
_verifyAuthorization(userName);
}
#endif
// NOTE: Qualifiers are not processed by this provider, so the
// IncludeQualifiers flag is ignored.
//
// check if the class name requested is PG_ConfigSetting
//
if (!instanceReference.getClassName().equal (PG_CONFIG_SETTING))
{
PEG_METHOD_EXIT();
throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED,
instanceReference.getClassName().getString());
}
//
// validate key bindings
//
Array<CIMKeyBinding> kbArray = instanceReference.getKeyBindings();
if ( (kbArray.size() != 1) ||
(!kbArray[0].getName().equal (PROPERTY_NAME)))
{
PEG_METHOD_EXIT();
throw PEGASUS_CIM_EXCEPTION_L(
CIM_ERR_INVALID_PARAMETER,
MessageLoaderParms(
"ControlProviders.ConfigSettingProvider."
"ConfigSettingProvider."
"INVALID_INSTANCE_NAME",
"Invalid instance name"));
}
String configPropertyName = kbArray[0].getValue();
// Modification of the entire instance is not supported by this provider
if (propertyList.isNull())
{
PEG_METHOD_EXIT();
//l10n
//throw PEGASUS_CIM_EXCEPTION(CIM_ERR_NOT_SUPPORTED,
//"Modification of entire instance");
throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED,
MessageLoaderParms(
"ControlProviders.ConfigSettingProvider."
"ConfigSettingProvider."
"MODIFICATION_OF_ENTIRE_INSTANCE",
"Modification of entire instance"));
}
Boolean currentValueModified = false;
Boolean plannedValueModified = false;
for (Uint32 i = 0; i < propertyList.size(); ++i)
{
CIMName propertyName = propertyList[i];
if (propertyName.equal (CURRENT_VALUE))
{
currentValueModified = true;
}
else if (propertyName.equal (PLANNED_VALUE))
{
plannedValueModified = true;
}
else
{
PEG_METHOD_EXIT();
//.........这里部分代码省略.........
示例10: modifyInstance
/////////////////////////////////////////////////////////////////////////////
// WMIInstanceProvider::modifyInstance
//
// ///////////////////////////////////////////////////////////////////////////
void WMIInstanceProvider::modifyInstance(
const String& nameSpace,
const String& userName,
const String& password,
const CIMInstance& modifiedInstance,
Boolean includeQualifiers,
const CIMPropertyList& propertylist)
{
PEG_METHOD_ENTER(TRC_WMIPROVIDER,"WMIClassProvider::modifyInstance()");
HRESULT hr;
CComPtr<IWbemClassObject> pClass;
CComPtr<IWbemClassObject> pInstance;
setup(nameSpace, userName, password);
PEG_TRACE((TRC_WMIPROVIDER,
Tracer::LEVEL3,
"ModifyInstance() - nameSpace %s, userName %s",
nameSpace.getCString(),
userName.getCString()));
if (!m_bInitialized)
{
PEG_TRACE((TRC_WMIPROVIDER, Tracer::LEVEL1,
"WMIInstanceProvider::ModifyInstance - m_bInitilized= %x, "
"throw CIM_ERR_FAILED exception",
m_bInitialized));
throw CIMException(CIM_ERR_FAILED);
}
// Check if the instance's class is valid.
String className = modifiedInstance.getClassName().getString();
if (!(_collector->getObject(&pClass, className)))
{
if (pClass)
pClass.Release();
throw CIMException(CIM_ERR_INVALID_CLASS);
}
else if (_collector->isInstance(pClass))
{
if (pClass)
pClass.Release();
throw CIMException(CIM_ERR_INVALID_PARAMETER);
}
if (pClass)
pClass.Release();
// Get the instance path
CIMObjectPath objPath = modifiedInstance.getPath();
// Get the name of the instance
String instanceName = getObjectName(objPath);
// Check if the instance exists
if (!(_collector->getObject(&pInstance, instanceName)))
{
if (pInstance)
pInstance.Release();
throw CIMException(CIM_ERR_NOT_FOUND);
}
else if (!(_collector->isInstance(pInstance)))
{
if (pInstance)
pInstance.Release();
throw CIMException(CIM_ERR_INVALID_PARAMETER);
}
// Set the properties that are into propertylist
Array<CIMName> listNames;
listNames = propertylist.getPropertyNameArray();
bool foundInArray;
bool bPropertySet = false;
for(Uint32 i = 0; i < modifiedInstance.getPropertyCount(); i++)
{
CComVariant v;
CIMProperty property = modifiedInstance.getProperty(i).clone();
String sPropName = property.getName().getString();
// change only the properties defined into the array
// if the array is null, change all properties
if (propertylist.isNull())
{
foundInArray = true;
}
else
{
//.........这里部分代码省略.........