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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2