version 1.4, 2001/02/06 17:04:03
|
version 1.8, 2001/02/16 02:06:09
|
|
|
// Author: | // Author: |
// | // |
// $Log$ | // $Log$ |
|
// Revision 1.8 2001/02/16 02:06:09 mike |
|
// Renamed many classes and headers. |
|
// |
|
// Revision 1.7 2001/02/13 07:00:18 mike |
|
// Added partial createInstance() method to repository. |
|
// |
|
// Revision 1.6 2001/02/11 05:45:33 mike |
|
// Added case insensitive logic for files in Repository |
|
// |
|
// Revision 1.5 2001/02/08 00:31:51 mike |
|
// Clean up on CIMOperations class. |
|
// Reformmatted documentation. |
|
// |
// Revision 1.4 2001/02/06 17:04:03 karl | // Revision 1.4 2001/02/06 17:04:03 karl |
// add documentation | // add documentation |
// | // |
|
|
// | // |
//END_HISTORY | //END_HISTORY |
| |
//////////////////////////////////////////////////////////////////////////////// |
|
// |
|
// Repository.h |
|
// |
|
// This interface contains a method for each operation defined in |
|
// the "Specification for CIM Operations over HTTP". |
|
// |
|
//////////////////////////////////////////////////////////////////////////////// |
|
|
|
#ifndef PegasusRepository_Repository_h | #ifndef PegasusRepository_Repository_h |
#define PegasusRepository_Repository_h | #define PegasusRepository_Repository_h |
| |
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
#include <Pegasus/Common/ClassDecl.h> |
#include <Pegasus/Common/CIMClass.h> |
#include <Pegasus/Common/InstanceDecl.h> |
#include <Pegasus/Common/CIMInstance.h> |
#include <Pegasus/Common/QualifierDecl.h> |
#include <Pegasus/Common/CIMQualifierDecl.h> |
#include <Pegasus/Common/Operations.h> |
#include <Pegasus/Common/CIMOperations.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
class RepositoryDeclContext; | class RepositoryDeclContext; |
/** Class Repository - This class represents the repository interfaces. |
|
This class is derived from the Pegasus Operations interface adding certain |
/** This class derives from the CIMOperations class and provides a simple |
methods specifically required for the repository. |
implementation of a CIM repository. It only implements the methods |
|
for manipulating classes and instances. The others throw this exception: |
|
|
|
<pre> |
|
CimException(CimException::NOT_SUPPORTED) |
|
</pre> |
*/ | */ |
| |
class PEGASUS_REPOSITORY_LINKAGE Repository : public Operations |
class PEGASUS_REPOSITORY_LINKAGE Repository : public CIMOperations |
{ | { |
public: | public: |
|
|
/// Constructor | /// Constructor |
Repository(const String& path); | Repository(const String& path); |
|
|
/// Descructor | /// Descructor |
virtual ~Repository(); | virtual ~Repository(); |
/// virtual class ClassDecl. From the operations class |
|
virtual ClassDecl getClass( |
/// virtual class CIMClass. From the operations class |
|
virtual CIMClass getClass( |
const String& nameSpace, | const String& nameSpace, |
const String& className, | const String& className, |
Boolean localOnly = true, | Boolean localOnly = true, |
Boolean includeQualifiers = true, | Boolean includeQualifiers = true, |
Boolean includeClassOrigin = false, | Boolean includeClassOrigin = false, |
const Array<String>& propertyList = _getStringArray()); | const Array<String>& propertyList = _getStringArray()); |
|
|
/// getInstance | /// getInstance |
virtual InstanceDecl getInstance( |
virtual CIMInstance getInstance( |
const String& nameSpace, | const String& nameSpace, |
const Reference& instanceName, |
const CIMReference& instanceName, |
Boolean localOnly = true, | Boolean localOnly = true, |
Boolean includeQualifiers = false, | Boolean includeQualifiers = false, |
Boolean includeClassOrigin = false, | Boolean includeClassOrigin = false, |
const Array<String>& propertyList = _getStringArray()); | const Array<String>& propertyList = _getStringArray()); |
|
|
/// deleteClass | /// deleteClass |
virtual void deleteClass( | virtual void deleteClass( |
const String& nameSpace, | const String& nameSpace, |
const String& className); | const String& className); |
|
|
/// deleteInstance | /// deleteInstance |
virtual void deleteInstance( | virtual void deleteInstance( |
const String& nameSpace, | const String& nameSpace, |
const Reference& instanceName); |
const CIMReference& instanceName); |
|
|
/// createClass | /// createClass |
virtual void createClass( | virtual void createClass( |
const String& nameSpace, | const String& nameSpace, |
ClassDecl& newClass); |
CIMClass& newClass); |
|
|
/// createInstance | /// createInstance |
virtual void createInstance( | virtual void createInstance( |
const String& nameSpace, | const String& nameSpace, |
const InstanceDecl& newInstance) ; |
CIMInstance& newInstance); |
/// modifyClass |
|
virtual void modifyClass( | virtual void modifyClass( |
const String& nameSpace, | const String& nameSpace, |
ClassDecl& modifiedClass); |
CIMClass& modifiedClass); |
|
|
/// modifyInstance | /// modifyInstance |
virtual void modifyInstance( | virtual void modifyInstance( |
const String& nameSpace, | const String& nameSpace, |
const InstanceDecl& modifiedInstance); |
const CIMInstance& modifiedInstance); |
|
|
/// enumerateClasses | /// enumerateClasses |
virtual Array<ClassDecl> enumerateClasses( |
virtual Array<CIMClass> enumerateClasses( |
const String& nameSpace, | const String& nameSpace, |
const String& className = String::EMPTY, | const String& className = String::EMPTY, |
Boolean deepInheritance = false, | Boolean deepInheritance = false, |
Boolean localOnly = true, | Boolean localOnly = true, |
Boolean includeQualifiers = true, | Boolean includeQualifiers = true, |
Boolean includeClassOrigin = false); | Boolean includeClassOrigin = false); |
|
|
/// enumerateClassNames | /// enumerateClassNames |
virtual Array<String> enumerateClassNames( | virtual Array<String> enumerateClassNames( |
const String& nameSpace, | const String& nameSpace, |
const String& className = String::EMPTY, | const String& className = String::EMPTY, |
Boolean deepInheritance = false); | Boolean deepInheritance = false); |
|
|
/// enumerateInstances | /// enumerateInstances |
virtual Array<InstanceDecl> enumerateInstances( |
virtual Array<CIMInstance> enumerateInstances( |
const String& nameSpace, | const String& nameSpace, |
const String& className, | const String& className, |
Boolean deepInheritance = true, | Boolean deepInheritance = true, |
|
|
Boolean includeQualifiers = false, | Boolean includeQualifiers = false, |
Boolean includeClassOrigin = false, | Boolean includeClassOrigin = false, |
const Array<String>& propertyList = _getStringArray()); | const Array<String>& propertyList = _getStringArray()); |
|
|
/// enumerateInstanceNames | /// enumerateInstanceNames |
virtual Array<Reference> enumerateInstanceNames( |
virtual Array<CIMReference> enumerateInstanceNames( |
const String& nameSpace, | const String& nameSpace, |
const String& className); | const String& className); |
|
|
/// execQuery | /// execQuery |
virtual Array<InstanceDecl> execQuery( |
virtual Array<CIMInstance> execQuery( |
const String& queryLanguage, | const String& queryLanguage, |
const String& query) ; | const String& query) ; |
|
|
/// associators | /// associators |
virtual Array<InstanceDecl> associators( |
virtual Array<CIMInstance> associators( |
const String& nameSpace, | const String& nameSpace, |
const Reference& objectName, |
const CIMReference& objectName, |
const String& assocClass = String::EMPTY, | const String& assocClass = String::EMPTY, |
const String& resultClass = String::EMPTY, | const String& resultClass = String::EMPTY, |
const String& role = String::EMPTY, | const String& role = String::EMPTY, |
|
|
Boolean includeQualifiers = false, | Boolean includeQualifiers = false, |
Boolean includeClassOrigin = false, | Boolean includeClassOrigin = false, |
const Array<String>& propertyList = _getStringArray()); | const Array<String>& propertyList = _getStringArray()); |
|
|
/// associateNames | /// associateNames |
virtual Array<Reference> associatorNames( |
virtual Array<CIMReference> associatorNames( |
const String& nameSpace, | const String& nameSpace, |
const Reference& objectName, |
const CIMReference& objectName, |
const String& assocClass = String::EMPTY, | const String& assocClass = String::EMPTY, |
const String& resultClass = String::EMPTY, | const String& resultClass = String::EMPTY, |
const String& role = String::EMPTY, | const String& role = String::EMPTY, |
const String& resultRole = String::EMPTY); | const String& resultRole = String::EMPTY); |
|
|
/// references | /// references |
virtual Array<InstanceDecl> references( |
virtual Array<CIMInstance> references( |
const String& nameSpace, | const String& nameSpace, |
const Reference& objectName, |
const CIMReference& objectName, |
const String& resultClass = String::EMPTY, | const String& resultClass = String::EMPTY, |
const String& role = String::EMPTY, | const String& role = String::EMPTY, |
Boolean includeQualifiers = false, | Boolean includeQualifiers = false, |
Boolean includeClassOrigin = false, | Boolean includeClassOrigin = false, |
const Array<String>& propertyList = _getStringArray()); | const Array<String>& propertyList = _getStringArray()); |
|
|
/// referenceNames | /// referenceNames |
virtual Array<Reference> referenceNames( |
virtual Array<CIMReference> referenceNames( |
const String& nameSpace, | const String& nameSpace, |
const Reference& objectName, |
const CIMReference& objectName, |
const String& resultClass = String::EMPTY, | const String& resultClass = String::EMPTY, |
const String& role = String::EMPTY); | const String& role = String::EMPTY); |
|
|
/// getProperty | /// getProperty |
virtual Value getProperty( |
virtual CIMValue getProperty( |
const String& nameSpace, | const String& nameSpace, |
const Reference& instanceName, |
const CIMReference& instanceName, |
const String& propertyName); | const String& propertyName); |
|
|
/// setProperty | /// setProperty |
virtual void setProperty( | virtual void setProperty( |
const String& nameSpace, | const String& nameSpace, |
const Reference& instanceName, |
const CIMReference& instanceName, |
const String& propertyName, | const String& propertyName, |
const Value& newValue = Value()); |
const CIMValue& newValue = CIMValue()); |
|
|
/// getQualifier | /// getQualifier |
virtual QualifierDecl getQualifier( |
virtual CIMQualifierDecl getQualifier( |
const String& nameSpace, | const String& nameSpace, |
const String& qualifierName); | const String& qualifierName); |
|
|
/// setQualifier | /// setQualifier |
virtual void setQualifier( | virtual void setQualifier( |
const String& nameSpace, | const String& nameSpace, |
const QualifierDecl& qualifierDecl); |
const CIMQualifierDecl& qualifierDecl); |
|
|
/// virtual deleteQualifier | /// virtual deleteQualifier |
virtual void deleteQualifier( | virtual void deleteQualifier( |
const String& nameSpace, | const String& nameSpace, |
const String& qualifierName); | const String& qualifierName); |
|
|
/// enumerateQualifiers | /// enumerateQualifiers |
virtual Array<QualifierDecl> enumerateQualifiers( |
virtual Array<CIMQualifierDecl> enumerateQualifiers( |
const String& nameSpace); | const String& nameSpace); |
|
|
/// Virtual value | /// Virtual value |
virtual Value invokeMethod( |
virtual CIMValue invokeMethod( |
const String& nameSpace, | const String& nameSpace, |
const Reference& instanceName, |
const CIMReference& instanceName, |
const String& methodName, | const String& methodName, |
const Array<Value>& inParameters, |
const Array<CIMValue>& inParameters, |
Array<Value>& outParameters); |
Array<CIMValue>& outParameters); |
| |
/** Method createNameSpace - Creates a new namespace in the repository |
/** CIMMethod createNameSpace - Creates a new namespace in the repository |
@param String with the name of the namespace | @param String with the name of the namespace |
@exception - ??? | @exception - ??? |
ATTN: What happens if the namespace already exists. | ATTN: What happens if the namespace already exists. |
*/ | */ |
void createNameSpace(const String& nameSpace); | void createNameSpace(const String& nameSpace); |
| |
/** Method enumerateNameSpaces - Get all of the namespaces in the |
/** CIMMethod enumerateNameSpaces - Get all of the namespaces in the |
repository. \Ref{NAMESPACE} | repository. \Ref{NAMESPACE} |
@return Array of strings with the namespaces | @return Array of strings with the namespaces |
*/ | */ |
virtual Array<String> enumerateNameSpaces() const; | virtual Array<String> enumerateNameSpaces() const; |
| |
/** Method createMetaQualifiers - ATTN: |
/** CIMMethod createMetaQualifiers - ATTN: |
This method must be invoked to create the appropriate meta-qualifiers | This method must be invoked to create the appropriate meta-qualifiers |
required by CIM (they are not part of the CIM schema; rather they are | required by CIM (they are not part of the CIM schema; rather they are |
part of the meta-schema). | part of the meta-schema). |
*/ | */ |
|
|
void createMetaQualifiers(const String& nameSpace); | void createMetaQualifiers(const String& nameSpace); |
| |
private: | private: |
| |
static Array<String> _getStringArray() |
|
{ |
|
return Array<String>(); |
|
} |
|
|
|
String _root; | String _root; |
RepositoryDeclContext* _context; | RepositoryDeclContext* _context; |
}; | }; |