(file) Return to Repository.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Repository / Attic

Diff for /pegasus/src/Pegasus/Repository/Attic/Repository.h between version 1.9 and 1.10.2.3

version 1.9, 2001/02/18 02:49:01 version 1.10.2.3, 2007/11/08 23:20:50
Line 1 
Line 1 
 //BEGIN_LICENSE  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
   // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
   //
   // Permission is hereby granted, free of charge, to any person obtaining a copy
   // of this software and associated documentation files (the "Software"), to
   // deal in the Software without restriction, including without limitation the
   // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
   // sell copies of the Software, and to permit persons to whom the Software is
   // furnished to do so, subject to the following conditions:
   //
   // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
   // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
   // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
   // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a  //==============================================================================
 // copy of this software and associated documentation files (the "Software"),  
 // to deal in the Software without restriction, including without limitation  
 // the rights to use, copy, modify, merge, publish, distribute, sublicense,  
 // and/or sell copies of the Software, and to permit persons to whom the  
 // Software is furnished to do so, subject to the following conditions:  
 // //
 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  //%/////////////////////////////////////////////////////////////////////////////
 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  
 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL  
 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  
 // DEALINGS IN THE SOFTWARE.  
 //  
 //END_LICENSE  
 //BEGIN_HISTORY  
 //  
 // Author:  
 //  
 // $Log$  
 // Revision 1.9  2001/02/18 02:49:01  mike  
 // Removed ugly workarounds for MSVC++ 5.0 (using SP3 now)  
 //  
 // 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  
 // add documentation  
 //  
 // Revision 1.3  2001/01/31 08:20:51  mike  
 // Added dispatcher framework.  
 // Added enumerateInstanceNames.  
 //  
 // Revision 1.2  2001/01/28 04:11:03  mike  
 // fixed qualifier resolution  
 //  
 // Revision 1.1.1.1  2001/01/14 19:53:56  mike  
 // Pegasus import  
 //  
 //  
 //END_HISTORY  
  
 #ifndef PegasusRepository_Repository_h  #ifndef Pegasus_Repository_h
 #define PegasusRepository_Repository_h  #define Pegasus_Repository_h
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/CIMClass.h> #include <Pegasus/Common/CIMClass.h>
   #include <Pegasus/Common/CIMObject.h>
 #include <Pegasus/Common/CIMInstance.h> #include <Pegasus/Common/CIMInstance.h>
   #include <Pegasus/Common/CIMPropertyList.h>
 #include <Pegasus/Common/CIMQualifierDecl.h> #include <Pegasus/Common/CIMQualifierDecl.h>
 #include <Pegasus/Common/CIMOperations.h>  #include <Pegasus/Common/ContentLanguageList.h>
   #include <Pegasus/Common/HashTable.h>
   #include <Pegasus/Repository/Linkage.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 class RepositoryDeclContext; class RepositoryDeclContext;
   class compilerDeclContext;
  
 /** This class derives from the CIMOperations class and provides a simple  /** Virtual base class for CIMRepository implementations.
     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 Repository
 class PEGASUS_REPOSITORY_LINKAGE Repository : public CIMOperations  
 { {
 public: public:
  
     /// Constructor      typedef HashTable <String, String, EqualNoCaseFunc, HashLowerCaseFunc>
     Repository(const String& path);          NameSpaceAttributes;
   
       Repository();
  
     /// Descructor  
     virtual ~Repository();     virtual ~Repository();
  
     /// virtual class CIMClass. From the operations class  
     virtual CIMClass getClass(     virtual CIMClass getClass(
         const String& nameSpace,          bool lock,
         const String& className,          const CIMNamespaceName& nameSpace,
         Boolean localOnly = true,          const CIMName& className,
         Boolean includeQualifiers = true,          Boolean localOnly,
         Boolean includeClassOrigin = false,          Boolean includeQualifiers,
         const Array<String>& propertyList = StringArray());          Boolean includeClassOrigin,
           const CIMPropertyList& propertyList) = 0;
  
     /// getInstance  
     virtual CIMInstance getInstance(     virtual CIMInstance getInstance(
         const String& nameSpace,          bool lock,
         const CIMReference& instanceName,          const CIMNamespaceName& nameSpace,
         Boolean localOnly = true,          const CIMObjectPath& instanceName,
         Boolean includeQualifiers = false,          Boolean localOnly,
         Boolean includeClassOrigin = false,          Boolean includeQualifiers,
         const Array<String>& propertyList = StringArray());          Boolean includeClassOrigin,
           const CIMPropertyList& propertyList) = 0;
  
     /// deleteClass  
     virtual void deleteClass(     virtual void deleteClass(
         const String& nameSpace,          bool lock,
         const String& className);          const CIMNamespaceName& nameSpace,
           const CIMName& className) = 0;
  
     /// deleteInstance  
     virtual void deleteInstance(     virtual void deleteInstance(
         const String& nameSpace,          bool lock,
         const CIMReference& instanceName);          const CIMNamespaceName& nameSpace,
           const CIMObjectPath& instanceName) = 0;
  
     /// createClass  
     virtual void createClass(     virtual void createClass(
         const String& nameSpace,          bool lock,
         CIMClass& newClass);          const CIMNamespaceName& nameSpace,
           const CIMClass& newClass,
     /// createInstance          const ContentLanguageList& contentLangs) = 0;
     virtual void createInstance(  
         const String& nameSpace,      virtual CIMObjectPath createInstance(
         CIMInstance& newInstance);          bool lock,
           const CIMNamespaceName& nameSpace,
           const CIMInstance& newInstance,
           const ContentLanguageList& contentLangs) = 0;
  
     virtual void modifyClass(     virtual void modifyClass(
         const String& nameSpace,          bool lock,
         CIMClass& modifiedClass);          const CIMNamespaceName& nameSpace,
           const CIMClass& modifiedClass,
           const ContentLanguageList& contentLangs) = 0;
  
     /// modifyInstance  
     virtual void modifyInstance(     virtual void modifyInstance(
         const String& nameSpace,          bool lock,
         const CIMInstance& modifiedInstance);          const CIMNamespaceName& nameSpace,
           const CIMInstance& modifiedInstance,
           Boolean includeQualifiers,
           const CIMPropertyList& propertyList,
           const ContentLanguageList& contentLangs) = 0;
  
     /// enumerateClasses  
     virtual Array<CIMClass> enumerateClasses(     virtual Array<CIMClass> enumerateClasses(
         const String& nameSpace,          bool lock,
         const String& className = String::EMPTY,          const CIMNamespaceName& nameSpace,
         Boolean deepInheritance = false,          const CIMName& className,
         Boolean localOnly = true,          Boolean deepInheritance,
         Boolean includeQualifiers  = true,          Boolean localOnly,
         Boolean includeClassOrigin = false);          Boolean includeQualifiers,
           Boolean includeClassOrigin) = 0;
     /// enumerateClassNames  
     virtual Array<String> enumerateClassNames(      virtual Array<CIMName> enumerateClassNames(
         const String& nameSpace,          bool lock,
         const String& className = String::EMPTY,          const CIMNamespaceName& nameSpace,
         Boolean deepInheritance = false);          const CIMName& className,
           Boolean deepInheritance) = 0;
     /// enumerateInstances  
     virtual Array<CIMInstance> enumerateInstances(      virtual Array<CIMInstance> enumerateInstancesForSubtree(
         const String& nameSpace,          bool lock,
         const String& className,          const CIMNamespaceName& nameSpace,
         Boolean deepInheritance = true,          const CIMName& className,
         Boolean localOnly = true,          Boolean deepInheritance,
         Boolean includeQualifiers = false,          Boolean localOnly,
         Boolean includeClassOrigin = false,          Boolean includeQualifiers,
         const Array<String>& propertyList = StringArray());          Boolean includeClassOrigin,
           const CIMPropertyList& propertyList) = 0;
     /// enumerateInstanceNames  
     virtual Array<CIMReference> enumerateInstanceNames(      virtual Array<CIMInstance> enumerateInstancesForClass(
         const String& nameSpace,          bool lock,
         const String& className);          const CIMNamespaceName& nameSpace,
           const CIMName& className,
           Boolean localOnly,
           Boolean includeQualifiers,
           Boolean includeClassOrigin,
           const CIMPropertyList& propertyList) = 0;
   
       virtual Array<CIMObjectPath> enumerateInstanceNamesForSubtree(
           bool lock,
           const CIMNamespaceName& nameSpace,
           const CIMName& className) = 0;
   
       virtual Array<CIMObjectPath> enumerateInstanceNamesForClass(
           bool lock,
           const CIMNamespaceName& nameSpace,
           const CIMName& className) = 0;
  
     /// execQuery  
     virtual Array<CIMInstance> execQuery(     virtual Array<CIMInstance> execQuery(
           bool lock,
         const String& queryLanguage,         const String& queryLanguage,
         const String& query) ;          const String& query) = 0;
  
     /// associators      virtual Array<CIMObject> associators(
     virtual Array<CIMInstance> associators(          bool lock,
         const String& nameSpace,          const CIMNamespaceName& nameSpace,
         const CIMReference& objectName,          const CIMObjectPath& objectName,
         const String& assocClass = String::EMPTY,          const CIMName& assocClass,
         const String& resultClass = String::EMPTY,          const CIMName& resultClass,
         const String& role = String::EMPTY,          const String& role,
         const String& resultRole = String::EMPTY,          const String& resultRole,
         Boolean includeQualifiers = false,          Boolean includeQualifiers,
         Boolean includeClassOrigin = false,          Boolean includeClassOrigin,
         const Array<String>& propertyList = StringArray());          const CIMPropertyList& propertyList) = 0;
   
     /// associateNames      virtual Array<CIMObjectPath> associatorNames(
     virtual Array<CIMReference> associatorNames(          bool lock,
         const String& nameSpace,          const CIMNamespaceName& nameSpace,
         const CIMReference& objectName,          const CIMObjectPath& objectName,
         const String& assocClass = String::EMPTY,          const CIMName& assocClass,
         const String& resultClass = String::EMPTY,          const CIMName& resultClass,
         const String& role = String::EMPTY,          const String& role,
         const String& resultRole = String::EMPTY);          const String& resultRole) = 0;
   
     /// references      virtual Array<CIMObject> references(
     virtual Array<CIMInstance> references(          bool lock,
         const String& nameSpace,          const CIMNamespaceName& nameSpace,
         const CIMReference& objectName,          const CIMObjectPath& objectName,
         const String& resultClass = String::EMPTY,          const CIMName& resultClass,
         const String& role = String::EMPTY,          const String& role,
         Boolean includeQualifiers = false,          Boolean includeQualifiers,
         Boolean includeClassOrigin = false,          Boolean includeClassOrigin,
         const Array<String>& propertyList = StringArray());          const CIMPropertyList& propertyList) = 0;
   
     /// referenceNames      virtual Array<CIMObjectPath> referenceNames(
     virtual Array<CIMReference> referenceNames(          bool lock,
         const String& nameSpace,          const CIMNamespaceName& nameSpace,
         const CIMReference& objectName,          const CIMObjectPath& objectName,
         const String& resultClass = String::EMPTY,          const CIMName& resultClass,
         const String& role = String::EMPTY);          const String& role) = 0;
  
     /// getProperty  
     virtual CIMValue getProperty(     virtual CIMValue getProperty(
         const String& nameSpace,          bool lock,
         const CIMReference& instanceName,          const CIMNamespaceName& nameSpace,
         const String& propertyName);          const CIMObjectPath& instanceName,
           const CIMName& propertyName) = 0;
  
     /// setProperty  
     virtual void setProperty(     virtual void setProperty(
         const String& nameSpace,          bool lock,
         const CIMReference& instanceName,          const CIMNamespaceName& nameSpace,
         const String& propertyName,          const CIMObjectPath& instanceName,
         const CIMValue& newValue = CIMValue());          const CIMName& propertyName,
           const CIMValue& newValue,
           const ContentLanguageList& contentLangs) = 0;
  
     /// getQualifier  
     virtual CIMQualifierDecl getQualifier(     virtual CIMQualifierDecl getQualifier(
         const String& nameSpace,          bool lock,
         const String& qualifierName);          const CIMNamespaceName& nameSpace,
           const CIMName& qualifierName) = 0;
  
     /// setQualifier  
     virtual void setQualifier(     virtual void setQualifier(
         const String& nameSpace,          bool lock,
         const CIMQualifierDecl& qualifierDecl);          const CIMNamespaceName& nameSpace,
           const CIMQualifierDecl& qualifierDecl,
           const ContentLanguageList& contentLangs) = 0;
  
     /// virtual deleteQualifier  
     virtual void deleteQualifier(     virtual void deleteQualifier(
         const String& nameSpace,          bool lock,
         const String& qualifierName);          const CIMNamespaceName& nameSpace,
           const CIMName& qualifierName) = 0;
  
     /// enumerateQualifiers  
     virtual Array<CIMQualifierDecl> enumerateQualifiers(     virtual Array<CIMQualifierDecl> enumerateQualifiers(
         const String& nameSpace);          bool lock,
           const CIMNamespaceName& nameSpace) = 0;
     /// Virtual value  
     virtual CIMValue invokeMethod(  
         const String& nameSpace,  
         const CIMReference& instanceName,  
         const String& methodName,  
         const Array<CIMValue>& inParameters,  
         Array<CIMValue>& outParameters);  
   
     /** CIMMethod createNameSpace - Creates a new namespace in the repository  
         @param String with the name of the namespace  
         @exception - ???  
         ATTN: What happens if the namespace already exists.  
     */  
     void createNameSpace(const String& nameSpace);  
  
     /** CIMMethod enumerateNameSpaces - Get all of the namespaces in the      virtual void createNameSpace(
         repository. \Ref{NAMESPACE}          bool lock,
         @return Array of strings with the namespaces          const CIMNamespaceName& nameSpace,
     */          const NameSpaceAttributes& attributes) = 0;
     virtual Array<String> enumerateNameSpaces() const;  
       virtual void modifyNameSpace(
     /** CIMMethod createMetaQualifiers - ATTN:          bool lock,
         This method must be invoked to create the appropriate meta-qualifiers          const CIMNamespaceName& nameSpace,
         required by CIM (they are not part of the CIM schema; rather they are          const NameSpaceAttributes& attributes) = 0;
         part of the meta-schema).  
     */      virtual Array<CIMNamespaceName> enumerateNameSpaces(
     void createMetaQualifiers(const String& nameSpace);          bool lock) const = 0;
   
 private:      virtual void deleteNameSpace(
           bool lock,
     String _root;          const CIMNamespaceName& nameSpace) = 0;
     RepositoryDeclContext* _context;  
       virtual Boolean getNameSpaceAttributes(
           bool lock,
           const CIMNamespaceName& nameSpace,
           NameSpaceAttributes& attributes) = 0;
   
       virtual void setDeclContext(
           bool lock,
           RepositoryDeclContext* context) = 0;
   
       virtual Boolean isDefaultInstanceProvider(
           bool lock) = 0;
   
       virtual void getSubClassNames(
           bool lock,
           const CIMNamespaceName& nameSpace,
           const CIMName& className,
           Boolean deepInheritance,
           Array<CIMName>& subClassNames) const = 0;
   
       virtual void getSuperClassNames(
           bool lock,
           const CIMNamespaceName& nameSpace,
           const CIMName& className,
           Array<CIMName>& superClassNames) const = 0;
   
       virtual Boolean isRemoteNameSpace(
           bool lock,
           const CIMNamespaceName& nameSpace,
           String& remoteInfo) = 0;
   
   #ifdef PEGASUS_DEBUG
       virtual void DisplayCacheStatistics(
           bool lock) = 0;
   #endif
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
  
 #endif /* PegasusRepository_Repository_h */  #endif /* Pegasus_Repository_h */
   


Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10.2.3

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2