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

  1 mike  1.1 //%/////////////////////////////////////////////////////////////////////////////
  2           //
  3 kumpf 1.5 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
  4           // The Open Group, Tivoli Systems
  5 mike  1.1 //
  6           // Permission is hereby granted, free of charge, to any person obtaining a copy
  7           // of this software and associated documentation files (the "Software"), to
  8           // deal in the Software without restriction, including without limitation the
  9           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 10           // sell copies of the Software, and to permit persons to whom the Software is
 11           // furnished to do so, subject to the following conditions:
 12 kumpf 1.5 // 
 13 mike  1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 14           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 15           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 16           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 17           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 18           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 19           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 20           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 21           //
 22           //==============================================================================
 23           //
 24           // Author: Mike Brasher (mbrasher@bmc.com)
 25           //
 26 kumpf 1.3 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
 27           //                  (carolann_graves@hp.com)
 28           //
 29 mike  1.1 //%/////////////////////////////////////////////////////////////////////////////
 30           
 31           #ifndef Pegasus_Common_RepositoryBase_h
 32           #define Pegasus_Common_RepositoryBase_h
 33           
 34           #include <Pegasus/Common/Config.h>
 35           #include <Pegasus/Common/IPC.h>
 36           #include <Pegasus/Common/CIMClass.h>
 37           #include <Pegasus/Common/CIMObject.h>
 38           #include <Pegasus/Common/CIMInstance.h>
 39           #include <Pegasus/Common/CIMPropertyList.h>
 40           #include <Pegasus/Common/CIMQualifierDecl.h>
 41           
 42           PEGASUS_NAMESPACE_BEGIN
 43           
 44           class RepositoryDeclContext;
 45           
 46           /** This class declares the interface for a CIM repository implementation.
 47           
 48 kumpf 1.6     CIMRepositoryBase is a pure virtual base class (all the method signatures
 49 mike  1.1     must 
 50           */
 51 kumpf 1.6 class CIMRepositoryBase
 52 mike  1.1 {
 53           public:
 54           
 55               virtual ~CIMRepositoryBase() { }
 56           
 57               virtual void read_lock(void) throw(IPCException) = 0;
 58           
 59               virtual void read_unlock(void) = 0;
 60               
 61               virtual void write_lock(void) throw(IPCException) = 0;
 62           
 63               virtual void write_unlock(void) = 0;
 64               
 65               virtual CIMClass getClass(
 66 kumpf 1.7         const CIMNamespaceName& nameSpace,
 67                   const CIMName& className,
 68 mike  1.1         Boolean localOnly = true,
 69                   Boolean includeQualifiers = true,
 70                   Boolean includeClassOrigin = false,
 71                   const CIMPropertyList& propertyList = CIMPropertyList()) = 0;
 72           
 73               virtual CIMInstance getInstance(
 74 kumpf 1.7         const CIMNamespaceName& nameSpace,
 75 kumpf 1.2         const CIMObjectPath& instanceName,
 76 mike  1.1         Boolean localOnly = true,
 77                   Boolean includeQualifiers = false,
 78                   Boolean includeClassOrigin = false,
 79                   const CIMPropertyList& propertyList = CIMPropertyList()) = 0;
 80           
 81               virtual void deleteClass(
 82 kumpf 1.7         const CIMNamespaceName& nameSpace,
 83                   const CIMName& className) = 0;
 84 mike  1.1 
 85               virtual void deleteInstance(
 86 kumpf 1.7         const CIMNamespaceName& nameSpace,
 87 kumpf 1.2         const CIMObjectPath& instanceName) = 0;
 88 mike  1.1 
 89               virtual void createClass(
 90 kumpf 1.7         const CIMNamespaceName& nameSpace,
 91 mike  1.1         const CIMClass& newClass) = 0;
 92           
 93 kumpf 1.2     virtual CIMObjectPath createInstance(
 94 kumpf 1.7         const CIMNamespaceName& nameSpace,
 95 mike  1.1         const CIMInstance& newInstance) = 0;
 96           
 97               virtual void modifyClass(
 98 kumpf 1.7         const CIMNamespaceName& nameSpace,
 99 mike  1.1         const CIMClass& modifiedClass) = 0;
100           
101               virtual void modifyInstance(
102 kumpf 1.7         const CIMNamespaceName& nameSpace,
103 kumpf 1.3         const CIMInstance& modifiedInstance,
104 mike  1.1         Boolean includeQualifiers = true,
105                   const CIMPropertyList& propertyList = CIMPropertyList()) = 0;
106           
107               virtual Array<CIMClass> enumerateClasses(
108 kumpf 1.7         const CIMNamespaceName& nameSpace,
109                   const CIMName& className = CIMName(),
110 mike  1.1         Boolean deepInheritance = false,
111                   Boolean localOnly = true,
112                   Boolean includeQualifiers = true,
113                   Boolean includeClassOrigin = false) = 0;
114           
115 kumpf 1.7     virtual Array<CIMName> enumerateClassNames(
116                   const CIMNamespaceName& nameSpace,
117                   const CIMName& className = CIMName(),
118 mike  1.1         Boolean deepInheritance = false) = 0;
119           
120 kumpf 1.3     virtual Array<CIMInstance> enumerateInstances(
121 kumpf 1.7         const CIMNamespaceName& nameSpace,
122                   const CIMName& className,
123 mike  1.1         Boolean deepInheritance = true,
124                   Boolean localOnly = true,
125                   Boolean includeQualifiers = false,
126                   Boolean includeClassOrigin = false,
127                   const CIMPropertyList& propertyList = CIMPropertyList()) = 0;
128           
129 kumpf 1.2     virtual Array<CIMObjectPath> enumerateInstanceNames(
130 kumpf 1.7         const CIMNamespaceName& nameSpace,
131                   const CIMName& className) = 0;
132 mike  1.1 
133               virtual Array<CIMInstance> execQuery(
134                   const String& queryLanguage,
135                   const String& query)  = 0;
136           
137 kumpf 1.4     virtual Array<CIMObject> associators(
138 kumpf 1.7         const CIMNamespaceName& nameSpace,
139 kumpf 1.2         const CIMObjectPath& objectName,
140 kumpf 1.7         const CIMName& assocClass = CIMName(),
141                   const CIMName& resultClass = CIMName(),
142 mike  1.1         const String& role = String::EMPTY,
143                   const String& resultRole = String::EMPTY,
144                   Boolean includeQualifiers = false,
145                   Boolean includeClassOrigin = false,
146                   const CIMPropertyList& propertyList = CIMPropertyList()) = 0;
147           
148 kumpf 1.2     virtual Array<CIMObjectPath> associatorNames(
149 kumpf 1.7         const CIMNamespaceName& nameSpace,
150 kumpf 1.2         const CIMObjectPath& objectName,
151 kumpf 1.7         const CIMName& assocClass = CIMName(),
152                   const CIMName& resultClass = CIMName(),
153 mike  1.1         const String& role = String::EMPTY,
154                   const String& resultRole = String::EMPTY) = 0;
155           
156 kumpf 1.4     virtual Array<CIMObject> references(
157 kumpf 1.7         const CIMNamespaceName& nameSpace,
158 kumpf 1.2         const CIMObjectPath& objectName,
159 kumpf 1.7         const CIMName& resultClass = CIMName(),
160 mike  1.1         const String& role = String::EMPTY,
161                   Boolean includeQualifiers = false,
162                   Boolean includeClassOrigin = false,
163                   const CIMPropertyList& propertyList = CIMPropertyList()) = 0;
164           
165 kumpf 1.2     virtual Array<CIMObjectPath> referenceNames(
166 kumpf 1.7         const CIMNamespaceName& nameSpace,
167 kumpf 1.2         const CIMObjectPath& objectName,
168 kumpf 1.7         const CIMName& resultClass = CIMName(),
169 mike  1.1         const String& role = String::EMPTY) = 0;
170           
171               virtual CIMValue getProperty(
172 kumpf 1.7         const CIMNamespaceName& nameSpace,
173 kumpf 1.2         const CIMObjectPath& instanceName,
174 kumpf 1.7         const CIMName& propertyName) = 0;
175 mike  1.1 
176               virtual void setProperty(
177 kumpf 1.7         const CIMNamespaceName& nameSpace,
178 kumpf 1.2         const CIMObjectPath& instanceName,
179 kumpf 1.7         const CIMName& propertyName,
180 mike  1.1         const CIMValue& newValue = CIMValue()) = 0;
181           
182               virtual CIMQualifierDecl getQualifier(
183 kumpf 1.7         const CIMNamespaceName& nameSpace,
184                   const CIMName& qualifierName) = 0;
185 mike  1.1 
186               virtual void setQualifier(
187 kumpf 1.7         const CIMNamespaceName& nameSpace,
188 mike  1.1         const CIMQualifierDecl& qualifierDecl) = 0;
189           
190               virtual void deleteQualifier(
191 kumpf 1.7         const CIMNamespaceName& nameSpace,
192                   const CIMName& qualifierName) = 0;
193 mike  1.1 
194               virtual Array<CIMQualifierDecl> enumerateQualifiers(
195 kumpf 1.7         const CIMNamespaceName& nameSpace) = 0;
196 mike  1.1 
197 kumpf 1.7     virtual void createNameSpace(const CIMNamespaceName& nameSpace) = 0;
198 mike  1.1 
199 kumpf 1.7     virtual Array<CIMNamespaceName> enumerateNameSpaces() const = 0;
200 mike  1.1 
201 kumpf 1.7     virtual void deleteNameSpace(const CIMNamespaceName& nameSpace) = 0;
202 mike  1.1 
203               virtual void getSubClassNames(
204 kumpf 1.7         const CIMNamespaceName& nameSpaceName,
205                   const CIMName& className,
206 mike  1.1         Boolean deepInheritance,
207 kumpf 1.7         Array<CIMName>& subClassNames) const = 0;
208 mike  1.1 
209               virtual void getSuperClassNames(
210 kumpf 1.7         const CIMNamespaceName& nameSpaceName,
211                   const CIMName& className,
212                   Array<CIMName>& subClassNames) const = 0;
213 mike  1.1 };
214           
215           PEGASUS_NAMESPACE_END
216           
217           #endif /* Pegasus_Common_RepositoryBase_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2