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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2