OW_NAMESPACE::MetaRepository Class Reference

#include <OW_MetaRepository.hpp>

Inheritance diagram for OW_NAMESPACE::MetaRepository:

Inheritance graph
[legend]
Collaboration diagram for OW_NAMESPACE::MetaRepository:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MetaRepository ()
 Create a new MetaRepository object.
 ~MetaRepository ()
void open (const String &path)
 Open this MetaRepository.
virtual void init (const ServiceEnvironmentIFCRef &env)
 Initialize.
CIMQualifierType getQualifierType (const String &ns, const CIMName &qualName, HDBHandle *hdl=0)
 Get an existing qualifier type from the repository.
bool deleteQualifierType (const String &ns, const CIMName &qualName)
 Delete an existing qualifier from the repository.
void setQualifierType (const String &ns, const CIMQualifierType &qt)
 Update a qualifier type in the repository.
void enumQualifierTypes (const String &ns, CIMQualifierTypeResultHandlerIFC &result)
 Enumerator the qualifiers in a given namespace.
CIMException::ErrNoType getCIMClass (const String &ns, const CIMName &className, WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, const StringArray *propertyList, CIMClass &cc)
 Gets an existing class from the store.
bool deleteClass (const String &ns, const CIMName &className)
 Delete an existing class from the store.
void createClass (const String &ns, CIMClass &cimClass)
 creates a class in the store
void modifyClass (const String &ns, const CIMClass &cimClass)
 set a class in the store - note children are not affected
void enumClass (const String &ns, const CIMName &className, CIMClassResultHandlerIFC &result, WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly, WBEMFlags::EIncludeQualifiersFlag includeQualifiers, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin)
 Enumerates the class specified by className.
void enumClassNames (const String &ns, const CIMName &className, StringResultHandlerIFC &result, WBEMFlags::EDeepFlag deep)
 Enumerates the class names specified by className.
void getTopLevelAssociations (const String &ns, CIMClassResultHandlerIFC &result)
 Get all top level classes that are associations.
void deleteNameSpace (const String &nsName)
 Delete the given namespace and all object contained within it.
virtual int createNameSpace (const String &ns)
 Create the necessary containers to make a valid path.

Private Member Functions

 MetaRepository (const MetaRepository &x)
MetaRepositoryoperator= (const MetaRepository &x)
HDBNode _getQualContainer (HDBHandleLock &hdl, const String &ns)
 Get the node for the qualifier container.
String _makeQualPath (const String &ns, const CIMName &qualName)
 Make a path to a qualifier.
String _makeClassPath (const String &ns, const CIMName &className)
 Make a path to a CIM class.
void _addQualifierType (const String &ns, const CIMQualifierType &qt, HDBHandle *phdl=0)
 Add a qualifier type to the repository.
void _getClassNodes (const String &ns, CIMClassResultHandlerIFC &result, HDBNode node, HDBHandle hdl, WBEMFlags::EDeepFlag deep, WBEMFlags::ELocalOnlyFlag localOnly=WBEMFlags::E_NOT_LOCAL_ONLY, WBEMFlags::EIncludeQualifiersFlag includeQualifiers=WBEMFlags::E_INCLUDE_QUALIFIERS, WBEMFlags::EIncludeClassOriginFlag includeClassOrigin=WBEMFlags::E_INCLUDE_CLASS_ORIGIN)
void _getClassNameNodes (StringResultHandlerIFC &result, HDBNode node, HDBHandle hdl, WBEMFlags::EDeepFlag deep)
void _resolveClass (CIMClass &cls, HDBNode &node, HDBHandle &hdl, const String &ns)
HDBNode adjustClass (const String &ns, CIMClass &childClass, HDBHandle hdl)
void _resolveQualifiers (const String &ns, CIMQualifierArray &quals, HDBHandle hdl)
CIMClass _getClassFromNode (HDBNode &node, HDBHandle hdl, const String &ns)
CIMName _getClassNameFromNode (HDBNode &node)

Private Attributes

Cache< CIMClassm_classCache
Cache< CIMQualifierTypem_qualCache

Detailed Description

Definition at line 49 of file OW_MetaRepository.hpp.


Constructor & Destructor Documentation

OW_NAMESPACE::MetaRepository::MetaRepository  ) 
 

Create a new MetaRepository object.

Definition at line 1034 of file OW_MetaRepository.cpp.

OW_NAMESPACE::MetaRepository::~MetaRepository  ) 
 

Definition at line 65 of file OW_MetaRepository.cpp.

OW_NAMESPACE::MetaRepository::MetaRepository const MetaRepository x  )  [private]
 


Member Function Documentation

void OW_NAMESPACE::MetaRepository::_addQualifierType const String ns,
const CIMQualifierType qt,
HDBHandle phdl = 0
[private]
 

Add a qualifier type to the repository.

Parameters:
ns The namespace for the qualifier type
qt The qualifier type to add to the repository
Exceptions:
CIMException 

Definition at line 245 of file OW_MetaRepository.cpp.

References _makeQualPath(), OW_NAMESPACE::CIMException::ALREADY_EXISTS, OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::CIMQualifierType::getName(), hdl, OW_NAMESPACE::CIMException::INVALID_PARAMETER, ns, OW_THROWCIM, OW_THROWCIMMSG, and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

Referenced by setQualifierType().

CIMClass OW_NAMESPACE::MetaRepository::_getClassFromNode HDBNode node,
HDBHandle  hdl,
const String ns
[private]
 

Definition at line 373 of file OW_MetaRepository.cpp.

References _resolveClass(), OW_NAMESPACE::CIMNULL, hdl, OW_NAMESPACE::GenericHDBRepository::nodeToCIMObject(), ns, and theClass.

Referenced by _getClassNodes(), adjustClass(), and getCIMClass().

CIMName OW_NAMESPACE::MetaRepository::_getClassNameFromNode HDBNode node  )  [private]
 

Definition at line 387 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::HDBNode::getData(), OW_NAMESPACE::HDBNode::getDataLen(), name, OW_CIMCLASSSIG, OW_CIMCLASSSIG_V, OW_NAMESPACE::String::readObject(), OW_NAMESPACE::CIMBase::readSig(), and OW_NAMESPACE::CIMClass::SERIALIZATION_VERSION.

Referenced by _getClassNameNodes().

void OW_NAMESPACE::MetaRepository::_getClassNameNodes StringResultHandlerIFC result,
HDBNode  node,
HDBHandle  hdl,
WBEMFlags::EDeepFlag  deep
[private]
 

Definition at line 985 of file OW_MetaRepository.cpp.

References _getClassNameFromNode(), OW_NAMESPACE::ResultHandlerIFC< T >::handle(), hdl, result, and OW_NAMESPACE::CIMName::toString().

Referenced by enumClassNames().

void OW_NAMESPACE::MetaRepository::_getClassNodes const String ns,
CIMClassResultHandlerIFC result,
HDBNode  node,
HDBHandle  hdl,
WBEMFlags::EDeepFlag  deep,
WBEMFlags::ELocalOnlyFlag  localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
WBEMFlags::EIncludeQualifiersFlag  includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
WBEMFlags::EIncludeClassOriginFlag  includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN
[private]
 

Definition at line 920 of file OW_MetaRepository.cpp.

References _getClassFromNode(), OW_NAMESPACE::CIMClass::clone(), OW_NAMESPACE::ResultHandlerIFC< T >::handle(), hdl, ns, and result.

Referenced by enumClass().

HDBNode OW_NAMESPACE::MetaRepository::_getQualContainer HDBHandleLock hdl,
const String ns
[private]
 

Get the node for the qualifier container.

Create the node if it doesn't already exist.

Parameters:
hdl The HDBHandleLock to use in the operation.
ns The namespace
Returns:
The HDBNode for the qualifier container.

Definition at line 104 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::String::empty(), ns, OW_NAMESPACE::NS_SEPARATOR_C(), and OW_NAMESPACE::QUAL_CONTAINER.

String OW_NAMESPACE::MetaRepository::_makeClassPath const String ns,
const CIMName className
[private]
 

Make a path to a CIM class.

Parameters:
ns The namespace for the class.
className The name of the class.
Returns:
A string that can be used to locate the class.

Definition at line 133 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::CLASS_CONTAINER, className, ns, OW_NAMESPACE::NS_SEPARATOR_C(), OW_NAMESPACE::StringBuffer::releaseString(), and OW_NAMESPACE::CIMName::toString().

Referenced by adjustClass(), createClass(), deleteClass(), enumClass(), enumClassNames(), getCIMClass(), and modifyClass().

String OW_NAMESPACE::MetaRepository::_makeQualPath const String ns,
const CIMName qualName
[private]
 

Make a path to a qualifier.

Parameters:
ns The namespace for the qualifier.
qualName The name of the qualifier
Returns:
A string that can be used to locate the qualifier.

Definition at line 116 of file OW_MetaRepository.cpp.

References ns, OW_NAMESPACE::NS_SEPARATOR_C(), OW_NAMESPACE::QUAL_CONTAINER, OW_NAMESPACE::StringBuffer::releaseString(), and OW_NAMESPACE::CIMName::toString().

Referenced by _addQualifierType(), deleteQualifierType(), enumQualifierTypes(), getQualifierType(), and setQualifierType().

void OW_NAMESPACE::MetaRepository::_resolveClass CIMClass cls,
HDBNode node,
HDBHandle hdl,
const String ns
[private]
 

Definition at line 399 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::CIMClass::getAllProperties(), i, OW_NAMESPACE::CIMClass::setIsKeyed(), and OW_NAMESPACE::Array< T >::size().

Referenced by _getClassFromNode().

void OW_NAMESPACE::MetaRepository::_resolveQualifiers const String ns,
CIMQualifierArray quals,
HDBHandle  hdl
[private]
 

Definition at line 819 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::CIMQualifierType::getFlavors(), getQualifierType(), hdl, ns, and OW_NAMESPACE::Array< T >::size().

Referenced by createClass().

HDBNode OW_NAMESPACE::MetaRepository::adjustClass const String ns,
CIMClass childClass,
HDBHandle  hdl
[private]
 

Definition at line 616 of file OW_MetaRepository.cpp.

References _getClassFromNode(), _makeClassPath(), OW_NAMESPACE::String::c_str(), OW_NAMESPACE::CIMNULL, OW_NAMESPACE::CIMClass::getAllProperties(), OW_NAMESPACE::CIMClass::getName(), OW_NAMESPACE::CIMClass::getQualifiers(), OW_NAMESPACE::CIMClass::getSuperClass(), hdl, OW_NAMESPACE::CIMException::INVALID_SUPERCLASS, ns, OW_THROWCIMMSG, OW_NAMESPACE::Array< T >::size(), and OW_NAMESPACE::CIMName::toString().

Referenced by createClass(), and modifyClass().

void OW_NAMESPACE::MetaRepository::createClass const String ns,
CIMClass cimClass
 

creates a class in the store

Parameters:
ns The namespace for the class
cimClass The class to create
Exceptions:
CIMException if the class already exists, or parent class is not yet on file.
HDBException An error occurred in the database.
IOException Couldn't write class object to file.

Definition at line 563 of file OW_MetaRepository.cpp.

References _makeClassPath(), _resolveQualifiers(), OW_NAMESPACE::GenericHDBRepository::addCIMObject(), adjustClass(), OW_NAMESPACE::CIMException::ALREADY_EXISTS, OW_NAMESPACE::String::c_str(), cimClass, OW_NAMESPACE::CLASS_CONTAINER, OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::CIMClass::getName(), OW_NAMESPACE::GenericHDBRepository::getNameSpaceNode(), OW_NAMESPACE::CIMClass::getQualifiers(), OW_NAMESPACE::HDBCLSASSOCNODE_FLAG, hdl, OW_NAMESPACE::CIMException::INVALID_NAMESPACE, OW_NAMESPACE::CIMClass::isAssociation(), ns, OW_NAMESPACE::NS_SEPARATOR_C(), OW_THROWCIMMSG, OW_NAMESPACE::CIMClass::setQualifiers(), and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

int OW_NAMESPACE::MetaRepository::createNameSpace const String ns  )  [virtual]
 

Create the necessary containers to make a valid path.

Fail if the last container already exists.

Parameters:
ns The name of the namespace
Returns:
0 on success. Otherwise -1 if the bottom most container already exists.

Reimplemented from OW_NAMESPACE::GenericHDBRepository.

Definition at line 1021 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::CLASS_CONTAINER, OW_NAMESPACE::GenericHDBRepository::createNameSpace(), ns, OW_NAMESPACE::NS_SEPARATOR_C(), and OW_NAMESPACE::QUAL_CONTAINER.

bool OW_NAMESPACE::MetaRepository::deleteClass const String ns,
const CIMName className
 

Delete an existing class from the store.

Parameters:
ns The namespace for the class
className The name of the class to retrieve
Returns:
true if the class was deleted. false if class was not found.
Exceptions:
CIMException if class does not exist

Definition at line 543 of file OW_MetaRepository.cpp.

References _makeClassPath(), OW_NAMESPACE::CIMNULL, className, OW_NAMESPACE::GenericHDBRepository::getHandle(), hdl, m_classCache, OW_NAMESPACE::GenericHDBRepository::nodeToCIMObject(), ns, OW_NAMESPACE::Cache< T >::removeFromCache(), and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

void OW_NAMESPACE::MetaRepository::deleteNameSpace const String nsName  ) 
 

Delete the given namespace and all object contained within it.

Parameters:
nsName The name of the namespace

Reimplemented from OW_NAMESPACE::GenericHDBRepository.

Definition at line 1003 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::CLASS_CONTAINER, OW_NAMESPACE::Cache< T >::clearCache(), OW_NAMESPACE::GenericHDBRepository::deleteNameSpace(), m_classCache, OW_NAMESPACE::NS_SEPARATOR_C(), OW_NAMESPACE::QUAL_CONTAINER, and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

bool OW_NAMESPACE::MetaRepository::deleteQualifierType const String ns,
const CIMName qualName
 

Delete an existing qualifier from the repository.

Parameters:
ns The namespace for the qualifier name.
qualName The name of the qualifier to delete
Returns:
true if the delete operation was successful. false indicates the qualifier was not found.
Exceptions:
CIMException 

Definition at line 221 of file OW_MetaRepository.cpp.

References _makeQualPath(), OW_NAMESPACE::CIMNULL, OW_NAMESPACE::GenericHDBRepository::getHandle(), hdl, m_qualCache, OW_NAMESPACE::GenericHDBRepository::nodeToCIMObject(), ns, OW_NAMESPACE::Cache< T >::removeFromCache(), and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

Referenced by OW_NAMESPACE::CIMRepository::deleteQualifierType().

void OW_NAMESPACE::MetaRepository::enumClass const String ns,
const CIMName className,
CIMClassResultHandlerIFC result,
WBEMFlags::EDeepFlag  deep,
WBEMFlags::ELocalOnlyFlag  localOnly,
WBEMFlags::EIncludeQualifiersFlag  includeQualifiers,
WBEMFlags::EIncludeClassOriginFlag  includeClassOrigin
 

Enumerates the class specified by className.

Parameters:
ns The namespace of the class
className The name of the class to enumerate
deep If set to CIMClient::DEEP, the enumeration returned will contain the names of all classes derived from the enumerated class. If set to CIMClient::SHALLOW the enumermation will return only the names of the first level children of the enumerated class.
localOnly If true, then only CIM elements (properties, methods, qualifiers) overriden within the definition are returned.
includeQualifiers If true, then all qualifiers for the class (including properties, methods, and method parameters) are returned.
includeClassOrigin If true, then the class origin attribute will be returned on all appropriate components.
Exceptions:
CIMException If the specified CIMObjectPath object cannot be found.

Definition at line 874 of file OW_MetaRepository.cpp.

References _getClassNodes(), _makeClassPath(), OW_NAMESPACE::String::c_str(), OW_NAMESPACE::CLASS_CONTAINER, className, OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::GenericHDBRepository::getNameSpaceNode(), OW_NAMESPACE::HDBNSNODE_FLAG, hdl, OW_NAMESPACE::CIMException::INVALID_CLASS, OW_NAMESPACE::CIMException::INVALID_NAMESPACE, ns, OW_NAMESPACE::NS_SEPARATOR_C(), OW_THROWCIMMSG, result, OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen(), and OW_NAMESPACE::CIMName::toString().

Referenced by OW_NAMESPACE::CIMRepository::_getAssociationClasses(), OW_NAMESPACE::CIMRepository::enumClasses(), and OW_NAMESPACE::CIMRepository::enumInstanceNames().

void OW_NAMESPACE::MetaRepository::enumClassNames const String ns,
const CIMName className,
StringResultHandlerIFC result,
WBEMFlags::EDeepFlag  deep
 

Enumerates the class names specified by className.

Parameters:
ns The namespace of the class
className The name of the class to enumerate
deep If set to CIMClient::DEEP, the enumeration returned will contain the names of all classes derived from the enumerated class. If set to CIMClient::SHALLOW the enumermation will return only the names of the first level children of the enumerated class.
Exceptions:
CIMException If the specified CIMObjectPath object cannot be found.

Definition at line 941 of file OW_MetaRepository.cpp.

References _getClassNameNodes(), _makeClassPath(), OW_NAMESPACE::String::c_str(), OW_NAMESPACE::CLASS_CONTAINER, className, OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::GenericHDBRepository::getNameSpaceNode(), OW_NAMESPACE::HDBNSNODE_FLAG, hdl, OW_NAMESPACE::CIMException::INVALID_CLASS, OW_NAMESPACE::CIMException::INVALID_NAMESPACE, ns, OW_NAMESPACE::NS_SEPARATOR_C(), OW_THROWCIMMSG, result, OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen(), and OW_NAMESPACE::CIMName::toString().

Referenced by OW_NAMESPACE::CIMRepository::enumClassNames(), and OW_NAMESPACE::CIMRepository::enumInstances().

void OW_NAMESPACE::MetaRepository::enumQualifierTypes const String ns,
CIMQualifierTypeResultHandlerIFC result
 

Enumerator the qualifiers in a given namespace.

Parameters:
ns The namespace to get the qualifiers from
Returns:
An enumeration of the qualifier types in the namespace.

Definition at line 191 of file OW_MetaRepository.cpp.

References _makeQualPath(), OW_NAMESPACE::HDBNode::areAllFlagsOn(), OW_NAMESPACE::String::c_str(), OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::HDBNSNODE_FLAG, hdl, OW_NAMESPACE::CIMException::INVALID_NAMESPACE, ns, OW_THROW, OW_THROWCIMMSG, and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

Referenced by OW_NAMESPACE::CIMRepository::enumQualifierTypes().

CIMException::ErrNoType OW_NAMESPACE::MetaRepository::getCIMClass const String ns,
const CIMName className,
WBEMFlags::ELocalOnlyFlag  localOnly,
WBEMFlags::EIncludeQualifiersFlag  includeQualifiers,
WBEMFlags::EIncludeClassOriginFlag  includeClassOrigin,
const StringArray propertyList,
CIMClass cc
 

Gets an existing class from the store.

Parameters:
ns The namespace for the class
className The name of the class to retrieve
cc the class to be retrieved.
Returns:
0 on success. Otherwise a value from CIMException.
Exceptions:
CIMException 
HDBException An error occurred in the database.
IOException Couldn't read class object from file.

Definition at line 315 of file OW_MetaRepository.cpp.

References _getClassFromNode(), _makeClassPath(), OW_NAMESPACE::Cache< T >::addToCache(), className, OW_NAMESPACE::CIMClass::clone(), OW_NAMESPACE::WBEMFlags::E_EXCLUDE_CLASS_ORIGIN, OW_NAMESPACE::WBEMFlags::E_EXCLUDE_QUALIFIERS, OW_NAMESPACE::WBEMFlags::E_LOCAL_ONLY, OW_NAMESPACE::CIMException::FAILED, OW_NAMESPACE::Cache< T >::getFromCache(), OW_NAMESPACE::GenericHDBRepository::getHandle(), hdl, m_classCache, OW_NAMESPACE::CIMException::NOT_FOUND, ns, propertyList, OW_NAMESPACE::Array< T >::size(), and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

Referenced by OW_NAMESPACE::CIMRepository::_getAssociationClasses(), OW_NAMESPACE::CIMRepository::_getClass(), OW_NAMESPACE::CIMRepository::_instGetClass(), and OW_NAMESPACE::CIMRepository::getClass().

CIMQualifierType OW_NAMESPACE::MetaRepository::getQualifierType const String ns,
const CIMName qualName,
HDBHandle hdl = 0
 

Get an existing qualifier type from the repository.

Parameters:
ns The namespace for the qualifier name.
qualName The name of the qualifier type to retrieve.
Returns:
A valid CIMQauliferType type on success. Otherwise a NULL CIMQualifierType.
Exceptions:
CIMException 
IOException 

Definition at line 147 of file OW_MetaRepository.cpp.

References _makeQualPath(), OW_NAMESPACE::Cache< T >::addToCache(), OW_NAMESPACE::String::c_str(), OW_NAMESPACE::GenericHDBRepository::getCIMObject(), OW_NAMESPACE::Cache< T >::getFromCache(), OW_NAMESPACE::GenericHDBRepository::getHandle(), hdl, OW_NAMESPACE::CIMException::INVALID_NAMESPACE, m_qualCache, OW_NAMESPACE::GenericHDBRepository::nameSpaceExists(), OW_NAMESPACE::CIMException::NOT_FOUND, ns, OW_NAMESPACE::NS_SEPARATOR_C(), OW_THROWCIMMSG, OW_NAMESPACE::QUAL_CONTAINER, and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

Referenced by _resolveQualifiers(), and OW_NAMESPACE::CIMRepository::getQualifierType().

void OW_NAMESPACE::MetaRepository::getTopLevelAssociations const String ns,
CIMClassResultHandlerIFC result
 

Get all top level classes that are associations.

Parameters:
ns The namespace to enumerate
Returns:
An enumeration of classes that are associations.

Definition at line 847 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::String::c_str(), OW_NAMESPACE::CIMNULL, OW_NAMESPACE::CLASS_CONTAINER, OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::GenericHDBRepository::getNameSpaceNode(), OW_NAMESPACE::ResultHandlerIFC< T >::handle(), OW_NAMESPACE::HDBCLSASSOCNODE_FLAG, OW_NAMESPACE::HDBNSNODE_FLAG, hdl, OW_NAMESPACE::CIMException::INVALID_NAMESPACE, OW_NAMESPACE::GenericHDBRepository::nodeToCIMObject(), ns, OW_NAMESPACE::NS_SEPARATOR_C(), OW_ASSERT, OW_THROWCIMMSG, result, and OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen().

void OW_NAMESPACE::MetaRepository::init const ServiceEnvironmentIFCRef env  )  [virtual]
 

Initialize.

Parameters:
env The service environment
Exceptions:
HDBException 

Reimplemented from OW_NAMESPACE::GenericHDBRepository.

Definition at line 1040 of file OW_MetaRepository.cpp.

References env, OW_NAMESPACE::GenericHDBRepository::init(), m_classCache, OW_NAMESPACE::ConfigOpts::MAX_CLASS_CACHE_SIZE_opt, OW_DEFAULT_MAX_CLASS_CACHE_SIZE, OW_DEFAULT_MAX_CLASS_CACHE_SIZE_I, OW_NAMESPACE::Cache< T >::setMaxCacheSize(), and OW_NAMESPACE::String::toUInt32().

Referenced by OW_NAMESPACE::CIMRepository::init().

void OW_NAMESPACE::MetaRepository::modifyClass const String ns,
const CIMClass cimClass
 

set a class in the store - note children are not affected

Parameters:
ns The namespace for the class
cimClass The class to update
Exceptions:
CIMException if the class already exists

Definition at line 593 of file OW_MetaRepository.cpp.

References _makeClassPath(), adjustClass(), cimClass, OW_NAMESPACE::CIMNULL, OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::CIMClass::getName(), hdl, m_classCache, OW_NAMESPACE::GenericHDBRepository::nodeToCIMObject(), OW_NAMESPACE::CIMException::NOT_FOUND, ns, OW_THROWCIMMSG, OW_NAMESPACE::Cache< T >::removeFromCache(), OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen(), and OW_NAMESPACE::GenericHDBRepository::updateCIMObject().

Referenced by OW_NAMESPACE::CIMRepository::modifyClass().

void OW_NAMESPACE::MetaRepository::open const String path  )  [virtual]
 

Open this MetaRepository.

Parameters:
the Fully qalified path to the database (minus extension)

Reimplemented from OW_NAMESPACE::GenericHDBRepository.

Definition at line 82 of file OW_MetaRepository.cpp.

References OW_NAMESPACE::CLASS_CONTAINER, OW_NAMESPACE::GenericHDBRepository::COMPONENT_NAME, OW_NAMESPACE::createRootNode(), OW_NAMESPACE::GenericHDBRepository::getHandle(), hdl, OW_NAMESPACE::GenericHDBRepository::m_env, OW_NAMESPACE::NS_SEPARATOR_C(), OW_NAMESPACE::GenericHDBRepository::open(), OW_LOG_INFO, OW_NAMESPACE::QUAL_CONTAINER, and OW_NAMESPACE::StringBuffer::toString().

MetaRepository& OW_NAMESPACE::MetaRepository::operator= const MetaRepository x  )  [private]
 

void OW_NAMESPACE::MetaRepository::setQualifierType const String ns,
const CIMQualifierType qt
 

Update a qualifier type in the repository.

Parameters:
ns The namespace for the qualifier
qt The qualifier type to update
Exceptions:
CIMException 

Definition at line 288 of file OW_MetaRepository.cpp.

References _addQualifierType(), _makeQualPath(), OW_NAMESPACE::Cache< T >::addToCache(), OW_NAMESPACE::GenericHDBRepository::getHandle(), OW_NAMESPACE::CIMQualifierType::getName(), hdl, m_qualCache, ns, OW_NAMESPACE::Cache< T >::removeFromCache(), OW_NAMESPACE::GenericHDBRepository::throwIfNotOpen(), and OW_NAMESPACE::GenericHDBRepository::updateCIMObject().

Referenced by OW_NAMESPACE::CIMRepository::setQualifierType().


Member Data Documentation

Cache<CIMClass> OW_NAMESPACE::MetaRepository::m_classCache [private]
 

Definition at line 268 of file OW_MetaRepository.hpp.

Referenced by deleteClass(), deleteNameSpace(), getCIMClass(), init(), and modifyClass().

Cache<CIMQualifierType> OW_NAMESPACE::MetaRepository::m_qualCache [private]
 

Definition at line 269 of file OW_MetaRepository.hpp.

Referenced by deleteQualifierType(), getQualifierType(), and setQualifierType().


The documentation for this class was generated from the following files:
Generated on Thu Feb 9 09:16:42 2006 for openwbem by  doxygen 1.4.6