13 kumpf 1.1 //
14 // Permission is hereby granted, free of charge, to any person obtaining a copy
15 // of this software and associated documentation files (the "Software"), to
16 // deal in the Software without restriction, including without limitation the
17 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 // sell copies of the Software, and to permit persons to whom the Software is
19 // furnished to do so, subject to the following conditions:
20 //
21 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 //
30 //==============================================================================
31 //
32 // Author: Jair Santos, Hewlett-Packard Company (jair.santos@hp.com)
33 //
34 kumpf 1.1 // Modified By:
35 //
36 //%/////////////////////////////////////////////////////////////////////////////
37
38 #ifndef Pegasus_ClientInterface_h
39 #define Pegasus_ClientInterface_h
40
41 #include <Pegasus/Common/Config.h>
42 #include <Pegasus/Common/String.h>
43 #include <Pegasus/Common/CIMName.h>
44 #include <Pegasus/Common/SSLContext.h>
45 #include <Pegasus/Common/CIMObject.h>
46 #include <Pegasus/Common/CIMClass.h>
47 #include <Pegasus/Common/CIMInstance.h>
48 #include <Pegasus/Common/CIMObjectPath.h>
49 #include <Pegasus/Common/CIMValue.h>
50 #include <Pegasus/Common/CIMParamValue.h>
51 #include <Pegasus/Common/CIMPropertyList.h>
52 #include <Pegasus/Common/CIMQualifierDecl.h>
53 #include <Pegasus/Common/Exception.h>
54 #include <Pegasus/Common/MessageQueue.h>
55 kumpf 1.1 #include <Pegasus/Common/Constants.h>
|
100 kumpf 1.1 virtual void connect(
101 const String& host,
102 const Uint32 portNumber,
103 const String& userName,
104 const String& password
105 ) = 0;
106
107 virtual void connect(
108 const String& host,
109 const Uint32 portNumber,
110 const SSLContext& sslContext,
111 const String& userName,
112 const String& password
113 ) = 0;
114
115 virtual void connectLocal() = 0;
116
117 virtual void disconnect() = 0;
118
119 virtual CIMClass getClass(
120 const CIMNamespaceName& nameSpace,
121 kumpf 1.1 const CIMName& className,
122 Boolean localOnly = true,
123 Boolean includeQualifiers = true,
124 Boolean includeClassOrigin = false,
125 const CIMPropertyList& propertyList = CIMPropertyList()
126 ) = 0;
127
128 virtual CIMInstance getInstance(
129 const CIMNamespaceName& nameSpace,
130 const CIMObjectPath& instanceName,
131 Boolean localOnly = true,
132 Boolean includeQualifiers = false,
133 Boolean includeClassOrigin = false,
134 const CIMPropertyList& propertyList = CIMPropertyList()
135 ) = 0;
136
137 virtual void deleteClass(
138 const CIMNamespaceName& nameSpace,
139 const CIMName& className
140 ) = 0;
141
142 kumpf 1.1 virtual void deleteInstance(
143 const CIMNamespaceName& nameSpace,
144 const CIMObjectPath& instanceName
145 ) = 0;
146
147 virtual void createClass(
148 const CIMNamespaceName& nameSpace,
149 const CIMClass& newClass
150 ) = 0;
151
152 virtual CIMObjectPath createInstance(
153 const CIMNamespaceName& nameSpace,
154 const CIMInstance& newInstance
155 ) = 0;
156
157 virtual void modifyClass(
158 const CIMNamespaceName& nameSpace,
159 const CIMClass& modifiedClass
160 ) = 0;
161
162 virtual void modifyInstance(
163 kumpf 1.1 const CIMNamespaceName& nameSpace,
164 const CIMInstance& modifiedInstance,
165 Boolean includeQualifiers = true,
166 const CIMPropertyList& propertyList = CIMPropertyList()
167 ) = 0;
168
169 virtual Array<CIMClass> enumerateClasses(
170 const CIMNamespaceName& nameSpace,
171 const CIMName& className = CIMName(),
172 Boolean deepInheritance = false,
173 Boolean localOnly = true,
174 Boolean includeQualifiers = true,
175 Boolean includeClassOrigin = false
176 ) = 0;
177
178 virtual Array<CIMName> enumerateClassNames(
179 const CIMNamespaceName& nameSpace,
180 const CIMName& className = CIMName(),
181 Boolean deepInheritance = false
182 ) = 0;
183
184 kumpf 1.1 virtual Array<CIMInstance> enumerateInstances(
185 const CIMNamespaceName& nameSpace,
186 const CIMName& className,
187 Boolean deepInheritance = true,
188 Boolean localOnly = true,
189 Boolean includeQualifiers = false,
190 Boolean includeClassOrigin = false,
191 const CIMPropertyList& propertyList = CIMPropertyList()
192 ) = 0;
193
194 virtual Array<CIMObjectPath> enumerateInstanceNames(
195 const CIMNamespaceName& nameSpace,
196 const CIMName& className
197 ) = 0;
198
199 virtual Array<CIMObject> execQuery(
200 const CIMNamespaceName& nameSpace,
201 const String& queryLanguage,
202 const String& query
203 ) = 0;
204
205 kumpf 1.1 virtual Array<CIMObject> associators(
206 const CIMNamespaceName& nameSpace,
207 const CIMObjectPath& objectName,
208 const CIMName& assocClass = CIMName(),
209 const CIMName& resultClass = CIMName(),
210 const String& role = String::EMPTY,
211 const String& resultRole = String::EMPTY,
212 Boolean includeQualifiers = false,
213 Boolean includeClassOrigin = false,
214 const CIMPropertyList& propertyList = CIMPropertyList()
215 ) = 0;
216
217 virtual Array<CIMObjectPath> associatorNames(
218 const CIMNamespaceName& nameSpace,
219 const CIMObjectPath& objectName,
220 const CIMName& assocClass = CIMName(),
221 const CIMName& resultClass = CIMName(),
222 const String& role = String::EMPTY,
223 const String& resultRole = String::EMPTY
224 ) = 0;
225
226 kumpf 1.1 virtual Array<CIMObject> references(
227 const CIMNamespaceName& nameSpace,
228 const CIMObjectPath& objectName,
229 const CIMName& resultClass = CIMName(),
230 const String& role = String::EMPTY,
231 Boolean includeQualifiers = false,
232 Boolean includeClassOrigin = false,
233 const CIMPropertyList& propertyList = CIMPropertyList()
234 ) = 0;
235
236 virtual Array<CIMObjectPath> referenceNames(
237 const CIMNamespaceName& nameSpace,
238 const CIMObjectPath& objectName,
239 const CIMName& resultClass = CIMName(),
240 const String& role = String::EMPTY
241 ) = 0;
242
243 virtual CIMValue getProperty(
244 const CIMNamespaceName& nameSpace,
245 const CIMObjectPath& instanceName,
246 const CIMName& propertyName
247 kumpf 1.1 ) = 0;
248
249 virtual void setProperty(
250 const CIMNamespaceName& nameSpace,
251 const CIMObjectPath& instanceName,
252 const CIMName& propertyName,
253 const CIMValue& newValue = CIMValue()
254 ) = 0;
255
256 virtual CIMQualifierDecl getQualifier(
257 const CIMNamespaceName& nameSpace,
258 const CIMName& qualifierName
259 ) = 0;
260
261 virtual void setQualifier(
262 const CIMNamespaceName& nameSpace,
263 const CIMQualifierDecl& qualifierDeclaration
264 ) = 0;
265
266 virtual void deleteQualifier(
267 const CIMNamespaceName& nameSpace,
268 kumpf 1.1 const CIMName& qualifierName
269 ) = 0;
270
271 virtual Array<CIMQualifierDecl> enumerateQualifiers(
272 const CIMNamespaceName& nameSpace
273 ) = 0;
274
275 virtual CIMValue invokeMethod(
276 const CIMNamespaceName& nameSpace,
277 const CIMObjectPath& instanceName,
278 const CIMName& methodName,
279 const Array<CIMParamValue>& inParameters,
280 Array<CIMParamValue>& outParameters
281 ) = 0;
282 };
283
284 PEGASUS_NAMESPACE_END
285
286 #endif /* Pegasus_Client_h */
|