本文整理汇总了C++中CIMName::isNull方法的典型用法代码示例。如果您正苦于以下问题:C++ CIMName::isNull方法的具体用法?C++ CIMName::isNull怎么用?C++ CIMName::isNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CIMName
的用法示例。
在下文中一共展示了CIMName::isNull方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getSelectPropertyList
const CIMPropertyList WQLSelectStatementRep::getSelectPropertyList(
const CIMObjectPath& inClassName) const
{
//
// Check for "*"
//
if (_allProperties)
{
//
// Return null CIMPropertyList for all properties
//
return CIMPropertyList ();
}
CIMName className = inClassName.getClassName();
if (className.isNull())
{
//
// If the caller passed in an empty className, then the FROM class is
// to be used
//
className = _className;
}
//
// Check if inClassName is the FROM class
//
if (!(className == _className))
{
//
// Check for NULL Query Context
//
if (_ctx == NULL)
{
MessageLoaderParms parms
("WQL.WQLSelectStatementRep.QUERY_CONTEXT_IS_NULL",
"Trying to process a query with a NULL Query Context.");
throw QueryRuntimeException(parms);
}
//
// Check if inClassName is a subclass of the FROM class
//
if (!_ctx->isSubClass(_className,className))
{
MessageLoaderParms parms
("WQL.WQLSelectStatementRep.CLASS_NOT_FROM_LIST_CLASS",
"Class $0 does not match the FROM class or any of its "
"subclasses.",
className.getString());
throw QueryRuntimeException(parms);
}
}
//
// Return CIMPropertyList for properties referenced in the projection
// list (SELECT clause)
//
return CIMPropertyList (_selectPropertyNames);
}
示例2: UninitializedObjectException
CIMPropertyRep::CIMPropertyRep(
const CIMName& name,
const CIMValue& value,
Uint32 arraySize,
const CIMName& referenceClassName,
const CIMName& classOrigin,
Boolean propagated)
:
_name(name), _value(value), _arraySize(arraySize),
_referenceClassName(referenceClassName), _classOrigin(classOrigin),
_propagated(propagated), _refCounter(1), _ownerCount(0)
{
// ensure name is not null
if (name.isNull())
{
throw UninitializedObjectException();
}
// Set the CIM name tag.
_nameTag = generateCIMNameTag(_name);
if ((arraySize != 0) &&
(!value.isArray() || value.getArraySize() != arraySize))
{
throw TypeMismatchException();
}
// A CIM Property may not be of reference array type
if (value.isArray() && (value.getType() == CIMTYPE_REFERENCE))
{
throw TypeMismatchException();
}
// if referenceClassName exists, must be CIMType REFERENCE.
if (!referenceClassName.isNull())
{
if (_value.getType() != CIMTYPE_REFERENCE)
{
throw TypeMismatchException();
}
}
// Can a property be of reference type with a null referenceClassName?
// The DMTF says yes if it is a property of an instance; no if it is a
// property of a class. We'll allow it here, but check in the CIMClass
// addProperty() method.
}
示例3: setName
void CIMParameterRep::setName(const CIMName& name)
{
// ensure name is not null
if(name.isNull())
{
throw UninitializedObjectException();
}
_name = name;
}
示例4: _getWildRoutingKey
inline String DynamicRoutingTable::_getWildRoutingKey(
const CIMName& className) const
{
//ATTN: We don't support wild class names.
PEGASUS_ASSERT(!className.isNull());
String key(":");
key.append(className.getString());
return key;
}
示例5: getPropertyList
CIMPropertyList WQLSelectStatementRep::getPropertyList(
const CIMObjectPath& inClassName)
{
if(_ctx == NULL){
MessageLoaderParms parms(
"WQL.WQLSelectStatementRep.QUERY_CONTEXT_IS_NULL",
"Trying to process a query with a NULL Query Context.");
throw QueryRuntimeException(parms);
}
if(_allProperties)
return CIMPropertyList();
CIMName className = inClassName.getClassName();
if (className.isNull())
{
// If the caller passed in an empty className, then the
// FROM class is to be used.
className = _className;
}
// check if inClassName is the From class
if(!(className == _className)){
// check if inClassName is a subclass of the From class
if(!_ctx->isSubClass(_className,className)){
MessageLoaderParms parms(
"WQL.WQLSelectStatementRep.CLASS_NOT_FROM_LIST_CLASS",
"Class $0 does not match the FROM class or any of its"
" subclasses.",
className.getString());
throw QueryRuntimeException(parms);
}
}
Array<CIMName> names =
getWherePropertyList(inClassName).getPropertyNameArray();
Array<CIMName> selectList =
getSelectPropertyList(inClassName).getPropertyNameArray();
// check for duplicates and remove them
for(Uint32 i = 0; i < names.size(); i++){
for(Uint32 j = 0; j < selectList.size(); j++){
if(names[i] == selectList[j])
selectList.remove(j);
}
}
names.appendArray(selectList);
CIMPropertyList list = CIMPropertyList();
list.set(names);
return list;
}
示例6: UninitializedObjectException
CIMParameterRep::CIMParameterRep(
const CIMName& name,
CIMType type,
Boolean isArray,
Uint32 arraySize,
const CIMName& referenceClassName)
: _name(name), _type(type),
_isArray(isArray), _arraySize(arraySize),
_referenceClassName(referenceClassName)
{
// ensure name is not null
if(name.isNull())
{
throw UninitializedObjectException();
}
if((_arraySize != 0) && !_isArray)
{
throw TypeMismatchException();
}
if (!referenceClassName.isNull())
{
if (_type != CIMTYPE_REFERENCE)
{
throw TypeMismatchException();
}
}
else
{
if (_type == CIMTYPE_REFERENCE)
{
throw TypeMismatchException();
}
}
}
示例7: setName
void CIMPropertyRep::setName(const CIMName& name)
{
// ensure name is not null
if (name.isNull())
{
throw UninitializedObjectException();
}
if (_ownerCount != 0 && _name != name)
{
MessageLoaderParms parms(
"Common.CIMPropertyRep.CONTAINED_PROPERTY_NAMECHANGEDEXCEPTION",
"Attempted to change the name of a property"
" already in a container.");
throw Exception(parms);
}
_name = name;
// Set the CIM name tag.
_nameTag = generateCIMNameTag(_name);
}
示例8: resolve
void CIMPropertyRep::resolve(
DeclContext* declContext,
const CIMNamespaceName& nameSpace,
Boolean isInstancePart,
const CIMConstProperty& inheritedProperty,
Boolean propagateQualifiers)
{
PEGASUS_ASSERT(!inheritedProperty.isUninitialized());
// Check the type:
if (!inheritedProperty.getValue().typeCompatible(_value))
{
if (!(
(inheritedProperty.getValue().getType() == CIMTYPE_OBJECT) &&
(_value.getType() == CIMTYPE_STRING) &&
(_qualifiers.find(PEGASUS_QUALIFIERNAME_EMBEDDEDOBJECT)
!= PEG_NOT_FOUND) &&
(inheritedProperty.getValue().isArray() == _value.isArray())
) &&
!(
(inheritedProperty.getValue().getType() == CIMTYPE_INSTANCE) &&
(_value.getType() == CIMTYPE_STRING) &&
(_qualifiers.find(PEGASUS_QUALIFIERNAME_EMBEDDEDINSTANCE)
!= PEG_NOT_FOUND) &&
(inheritedProperty.getValue().isArray() == _value.isArray())
))
{
throw TypeMismatchException();
}
}
// Validate the qualifiers of the property (according to
// superClass's property with the same name). This method
// will throw an exception if the validation fails.
CIMScope scope = CIMScope::PROPERTY;
if (_value.getType() == CIMTYPE_REFERENCE)
scope = CIMScope::REFERENCE;
// Test the reference class name against the inherited property
if (_value.getType() == CIMTYPE_REFERENCE ||
_value.getType() == CIMTYPE_INSTANCE)
{
CIMName inheritedClassName;
Array<CIMName> classNames;
if (_value.getType() == CIMTYPE_INSTANCE)
{
Uint32 pos = inheritedProperty.findQualifier(
PEGASUS_QUALIFIERNAME_EMBEDDEDINSTANCE);
if (pos != PEG_NOT_FOUND)
{
String qualStr;
inheritedProperty.getQualifier(pos).getValue().get(qualStr);
inheritedClassName = qualStr;
}
if (_value.isArray())
{
Array<CIMInstance> embeddedInstances;
_value.get(embeddedInstances);
for (Uint32 i = 0, n = embeddedInstances.size(); i < n; ++i)
{
classNames.append(embeddedInstances[i].getClassName());
}
}
else
{
CIMInstance embeddedInst;
_value.get(embeddedInst);
classNames.append(embeddedInst.getClassName());
}
}
else
{
CIMName referenceClass;
if (_referenceClassName.isNull())
{
CIMObjectPath reference;
_value.get(reference);
referenceClass = reference.getClassName();
}
else
{
referenceClass = _referenceClassName;
}
inheritedClassName = inheritedProperty.getReferenceClassName();
classNames.append(referenceClass);
}
// This algorithm is friendly to arrays of embedded instances. It
// remembers the class names that are found to be subclasses of the
// inherited class name retrieved from the inherited property. This
// ensures that any branch in the inheritance hierarchy will only be
// traversed once. This provides significant optimization given that
// most elements of an array of embedded instances will probably be of
// very closely related types.
//.........这里部分代码省略.........
示例9: originNamespace
//
// Local version of the references operation. It validates the input
// parameters, setting the origin and target property values if not set
// already, and then performs an enumeration on the association class. It then
// filters the results of that enumeration to see if one of the reference
// properties matches the objectName parameter passed into the method. If so,
// then it is added to the array of association instances to be returned.
//
Array<CIMInstance> InteropProvider::localReferences(
const OperationContext & context,
const CIMObjectPath & objectName,
const CIMName & assocClass,
String & originProperty,
String & targetProperty,
const CIMPropertyList & propertyList,
const CIMName & targetClass)
{
PEG_METHOD_ENTER(TRC_CONTROLPROVIDER,
"InteropProvider::localReferences()");
Array<CIMInstance> instances;
CIMName originClass = objectName.getClassName();
Array<CIMName> targetSubclasses;
CIMNamespaceName lastTargetNamespace;
CIMNamespaceName originNamespace(objectName.getNameSpace());
// Check that the association traversal request is valid
if (validAssocClassForObject(
context,
assocClass,
objectName,
originNamespace,
originProperty,
targetProperty))
{
// retrieve all of the association class instances
Array<CIMInstance> localInstances = localEnumerateInstances(context,
CIMObjectPath(hostName, originNamespace,
assocClass));
// Filter the association class instances based on the origin instance
// and other input parameters.
for(Uint32 i = 0, n = localInstances.size(); i < n; ++i)
{
CIMInstance & currentInstance = localInstances[i];
CIMObjectPath originPath = getRequiredValue<CIMObjectPath>(
currentInstance, originProperty);
originPath.setNameSpace(objectName.getNameSpace());
originPath.setHost(objectName.getHost());
// Only include instances where the origin instance is present in
// the association.
if(originPath.identical(objectName))
{
if(!targetClass.isNull())
{
// Have to check if the target reference is of the
// targetClass type. We first must determine all the
// possible subclasses of the targetClass in the target
// namespace.
CIMObjectPath targetPath = getRequiredValue<CIMObjectPath>(
currentInstance, targetProperty);
CIMNamespaceName targetNamespace(
targetPath.getNameSpace());
if(targetNamespace.isNull())
{
targetNamespace = originNamespace;
targetPath.setNameSpace(targetNamespace);
}
if(targetNamespace != lastTargetNamespace)
{
try
{
targetSubclasses = repository->enumerateClassNames(
targetNamespace, targetClass, true);
}
catch(...)
{
// If an exception was thrown during enumeration,
// then the base class didn't exist in the
// namespace, so the target instance retrieved
// must not match the targetClass parameter.
continue;
}
targetSubclasses.append(targetClass);
lastTargetNamespace = targetNamespace;
}
// Try to find the targetPath's class in the search space
CIMName targetPathClass = targetPath.getClassName();
for(Uint32 j = 0, m = targetSubclasses.size(); j < m; ++j)
{
if(targetPathClass == targetSubclasses[j])
{
instances.append(currentInstance);
break;
}
}
}
else
//.........这里部分代码省略.........
示例10: validAssocClassForObject
//.........这里部分代码省略.........
expectedOriginRole = PROPERTY_DEPENDENT;
}
break;
case PG_ELEMENTCONFORMSTOPROFILE:
if(originClass.equal(PEGASUS_CLASSNAME_PG_REGISTEREDPROFILE))
{
expectedTargetRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_MANAGEDELEMENT;
expectedOriginRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_CONFORMANTSTANDARD;
}
else
{
expectedTargetRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_CONFORMANTSTANDARD;
expectedOriginRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_MANAGEDELEMENT;
}
break;
case PG_ELEMENTCONFORMSTOPROFILE_RP_RP:
propNames.append(CIMName("RegisteredName"));
propertyList = CIMPropertyList(propNames);
tmpInstance = localGetInstance(
context,
objectName,
propertyList);
if (!tmpInstance.isUninitialized())
{
index = tmpInstance.findProperty("RegisteredName");
if (index != PEG_NOT_FOUND)
{
const CIMValue &tmpVal =
tmpInstance.getProperty(index).getValue();
if (!tmpVal.isNull())
{
tmpVal.get(profileName);
}
}
}
if (String::compareNoCase(profileName, String("SMI-S")) == 0)
{
expectedTargetRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_MANAGEDELEMENT;
expectedOriginRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_CONFORMANTSTANDARD;
}
else
{
expectedTargetRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_CONFORMANTSTANDARD;
expectedOriginRole =
ELEMENTCONFORMSTOPROFILE_PROPERTY_MANAGEDELEMENT;
}
break;
case PG_SUBPROFILEREQUIRESPROFILE:
if(originClassEnum == PG_REGISTEREDPROFILE)
{
expectedTargetRole = PROPERTY_DEPENDENT;
expectedOriginRole = PROPERTY_ANTECEDENT;
}
else if(originClassEnum == PG_REGISTEREDSUBPROFILE)
{
expectedTargetRole = PROPERTY_ANTECEDENT;
expectedOriginRole = PROPERTY_DEPENDENT;
}
break;
示例11: resolve
void CIMPropertyRep::resolve(
DeclContext* declContext,
const CIMNamespaceName& nameSpace,
Boolean isInstancePart,
const CIMConstProperty& inheritedProperty,
Boolean propagateQualifiers)
{
PEGASUS_ASSERT(!inheritedProperty.isUninitialized());
// Check the type:
if (!inheritedProperty.getValue().typeCompatible(_value))
{
if (!(
(inheritedProperty.getValue().getType() == CIMTYPE_OBJECT) &&
(_value.getType() == CIMTYPE_STRING) &&
(_qualifiers.find(CIMName("EmbeddedObject")) != PEG_NOT_FOUND) &&
(inheritedProperty.getValue().isArray() == _value.isArray())
))
{
throw TypeMismatchException();
}
}
// Validate the qualifiers of the property (according to
// superClass's property with the same name). This method
// will throw an exception if the validation fails.
CIMScope scope = CIMScope::PROPERTY;
if (_value.getType() == CIMTYPE_REFERENCE)
scope = CIMScope::REFERENCE;
// Test the reference class name against the inherited property
if (_value.getType() == CIMTYPE_REFERENCE)
{
CIMName inheritedReferenceClassName = inheritedProperty.getReferenceClassName();
CIMName referenceClassName;
if(!_referenceClassName.isNull() && !_value.isNull())
{
CIMObjectPath valuePath;
_value.get(valuePath);
referenceClassName = valuePath.getClassName();
bool found = _referenceClassName.equal(referenceClassName);
while(!found)
{
CIMClass referenceClass = declContext->lookupClass(nameSpace, referenceClassName);
if(referenceClass.isUninitialized())
{
throw PEGASUS_CIM_EXCEPTION(
CIM_ERR_NOT_FOUND, referenceClassName.getString());
}
referenceClassName = referenceClass.getSuperClassName();
if(referenceClassName.isNull())
throw TypeMismatchException();
found = inheritedReferenceClassName.equal(referenceClassName);
}
}
else if(!_referenceClassName.isNull())
{
referenceClassName = _referenceClassName;
}
else if(!_value.isNull())
{
CIMObjectPath valuePath;
_value.get(valuePath);
referenceClassName = valuePath.getClassName();
}
if(!referenceClassName.isNull())
{
bool found = inheritedReferenceClassName.equal(referenceClassName);
while(!found)
{
CIMClass referenceClass = declContext->lookupClass(nameSpace, referenceClassName);
if(referenceClass.isUninitialized())
{
throw PEGASUS_CIM_EXCEPTION(
CIM_ERR_NOT_FOUND, referenceClassName.getString());
}
referenceClassName = referenceClass.getSuperClassName();
if(referenceClassName.isNull())
throw TypeMismatchException();
found = inheritedReferenceClassName.equal(referenceClassName);
}
}
}
_qualifiers.resolve(
declContext,
nameSpace,
scope,
isInstancePart,
inheritedProperty._rep->_qualifiers,
propagateQualifiers);
_classOrigin = inheritedProperty.getClassOrigin();
}