1 karl 1.103 //%2006////////////////////////////////////////////////////////////////////////
|
2 mike 1.27 //
|
3 karl 1.99 // 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 karl 1.93 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.99 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 karl 1.100 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.103 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
|
13 mike 1.27 //
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 kumpf 1.62 //
|
21 mike 1.27 // 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 //%/////////////////////////////////////////////////////////////////////////////
33
34 #include "CIMClient.h"
|
35 kumpf 1.91 #include <Pegasus/Client/CIMClientRep.h>
|
36 kumpf 1.92 #include <Pegasus/Common/PegasusVersion.h>
|
37 humberto 1.90
|
38 mike 1.27 #include <iostream>
|
39 kumpf 1.78 #include <fstream>
|
40 mike 1.27
41 PEGASUS_USING_STD;
42
43 PEGASUS_NAMESPACE_BEGIN
44
|
45 kumpf 1.54 ///////////////////////////////////////////////////////////////////////////////
46 //
47 // CIMClient
48 //
49 ///////////////////////////////////////////////////////////////////////////////
50
|
51 a.arora 1.97 CIMClient::CIMClient()
|
52 kumpf 1.54 {
|
53 kumpf 1.104 _rep = new CIMClientRep();
54 }
55
56 CIMClient::~CIMClient()
57 {
58 delete _rep;
59 }
|
60 kumpf 1.54
|
61 kumpf 1.68 Uint32 CIMClient::getTimeout() const
|
62 kumpf 1.54 {
|
63 kumpf 1.68 return _rep->getTimeout();
|
64 kumpf 1.54 }
65
|
66 kumpf 1.68 void CIMClient::setTimeout(Uint32 timeoutMilliseconds)
|
67 kumpf 1.54 {
|
68 kumpf 1.68 _rep->setTimeout(timeoutMilliseconds);
|
69 kumpf 1.54 }
70
71 void CIMClient::connect(
|
72 kumpf 1.75 const String& host,
73 const Uint32 portNumber,
|
74 kumpf 1.54 const String& userName,
|
75 kumpf 1.104 const String& password)
|
76 kumpf 1.54 {
|
77 kumpf 1.75 _rep->connect(host, portNumber, userName, password);
|
78 kumpf 1.54 }
79
80 void CIMClient::connect(
|
81 kumpf 1.75 const String& host,
82 const Uint32 portNumber,
|
83 kumpf 1.70 const SSLContext& sslContext,
|
84 kumpf 1.54 const String& userName,
|
85 kumpf 1.104 const String& password)
|
86 kumpf 1.54 {
|
87 kumpf 1.75 _rep->connect(host, portNumber, sslContext, userName, password);
|
88 kumpf 1.54 }
89
|
90 kumpf 1.65 void CIMClient::connectLocal()
|
91 kumpf 1.54 {
|
92 kumpf 1.57 _rep->connectLocal();
|
93 kumpf 1.54 }
94
95 void CIMClient::disconnect()
96 {
97 _rep->disconnect();
98 }
99
|
100 kumpf 1.102 void CIMClient::setRequestAcceptLanguages(const AcceptLanguageList& langs)
|
101 chuck 1.85 {
|
102 kumpf 1.91 _rep->setRequestAcceptLanguages(langs);
|
103 chuck 1.85 }
104
|
105 kumpf 1.102 AcceptLanguageList CIMClient::getRequestAcceptLanguages() const
|
106 chuck 1.85 {
|
107 kumpf 1.91 return _rep->getRequestAcceptLanguages();
|
108 chuck 1.85 }
|
109 kumpf 1.91
|
110 kumpf 1.102 void CIMClient::setRequestContentLanguages(const ContentLanguageList& langs)
|
111 chuck 1.85 {
|
112 kumpf 1.91 _rep->setRequestContentLanguages(langs);
|
113 chuck 1.85 }
|
114 kumpf 1.91
|
115 kumpf 1.102 ContentLanguageList CIMClient::getRequestContentLanguages() const
|
116 chuck 1.85 {
|
117 kumpf 1.91 return _rep->getRequestContentLanguages();
118 }
119
|
120 kumpf 1.102 ContentLanguageList CIMClient::getResponseContentLanguages() const
|
121 chuck 1.85 {
|
122 kumpf 1.91 return _rep->getResponseContentLanguages();
|
123 humberto 1.86 }
124
|
125 kumpf 1.91 void CIMClient::setRequestDefaultLanguages()
126 {
127 _rep->setRequestDefaultLanguages();
|
128 chuck 1.85 }
|
129 kumpf 1.54
130 CIMClass CIMClient::getClass(
|
131 kumpf 1.64 const CIMNamespaceName& nameSpace,
132 const CIMName& className,
|
133 kumpf 1.54 Boolean localOnly,
134 Boolean includeQualifiers,
135 Boolean includeClassOrigin,
|
136 kumpf 1.104 const CIMPropertyList& propertyList)
|
137 kumpf 1.54 {
138 return _rep->getClass(
139 nameSpace,
140 className,
141 localOnly,
142 includeQualifiers,
143 includeClassOrigin,
144 propertyList);
145 }
146
147 CIMInstance CIMClient::getInstance(
|
148 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
149 kumpf 1.56 const CIMObjectPath& instanceName,
|
150 kumpf 1.54 Boolean localOnly,
151 Boolean includeQualifiers,
152 Boolean includeClassOrigin,
|
153 kumpf 1.104 const CIMPropertyList& propertyList)
|
154 kumpf 1.54 {
155 return _rep->getInstance(
156 nameSpace,
157 instanceName,
158 localOnly,
159 includeQualifiers,
160 includeClassOrigin,
161 propertyList);
162 }
163
164 void CIMClient::deleteClass(
|
165 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
166 kumpf 1.104 const CIMName& className)
|
167 kumpf 1.54 {
168 _rep->deleteClass(
169 nameSpace,
170 className);
171 }
172
173 void CIMClient::deleteInstance(
|
174 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
175 kumpf 1.104 const CIMObjectPath& instanceName)
|
176 kumpf 1.54 {
177 _rep->deleteInstance(
178 nameSpace,
179 instanceName);
180 }
181
182 void CIMClient::createClass(
|
183 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
184 kumpf 1.104 const CIMClass& newClass)
|
185 kumpf 1.54 {
186 _rep->createClass(
187 nameSpace,
188 newClass);
189 }
190
|
191 kumpf 1.56 CIMObjectPath CIMClient::createInstance(
|
192 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
193 kumpf 1.104 const CIMInstance& newInstance)
|
194 kumpf 1.54 {
195 return _rep->createInstance(
196 nameSpace,
197 newInstance);
198 }
199
200 void CIMClient::modifyClass(
|
201 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
202 kumpf 1.104 const CIMClass& modifiedClass)
|
203 kumpf 1.54 {
204 _rep->modifyClass(
205 nameSpace,
206 modifiedClass);
207 }
208
209 void CIMClient::modifyInstance(
|
210 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
211 kumpf 1.60 const CIMInstance& modifiedInstance,
|
212 kumpf 1.54 Boolean includeQualifiers,
|
213 kumpf 1.104 const CIMPropertyList& propertyList)
|
214 kumpf 1.54 {
215 _rep->modifyInstance(
216 nameSpace,
217 modifiedInstance,
218 includeQualifiers,
219 propertyList);
220 }
221
222 Array<CIMClass> CIMClient::enumerateClasses(
|
223 kumpf 1.64 const CIMNamespaceName& nameSpace,
224 const CIMName& className,
|
225 kumpf 1.54 Boolean deepInheritance,
226 Boolean localOnly,
227 Boolean includeQualifiers,
|
228 kumpf 1.104 Boolean includeClassOrigin)
|
229 kumpf 1.54 {
230 return _rep->enumerateClasses(
231 nameSpace,
232 className,
233 deepInheritance,
234 localOnly,
235 includeQualifiers,
236 includeClassOrigin);
237 }
238
|
239 kumpf 1.64 Array<CIMName> CIMClient::enumerateClassNames(
240 const CIMNamespaceName& nameSpace,
241 const CIMName& className,
|
242 kumpf 1.104 Boolean deepInheritance)
|
243 kumpf 1.54 {
244 return _rep->enumerateClassNames(
245 nameSpace,
246 className,
247 deepInheritance);
248 }
249
|
250 kumpf 1.60 Array<CIMInstance> CIMClient::enumerateInstances(
|
251 kumpf 1.64 const CIMNamespaceName& nameSpace,
252 const CIMName& className,
|
253 kumpf 1.54 Boolean deepInheritance,
254 Boolean localOnly,
255 Boolean includeQualifiers,
256 Boolean includeClassOrigin,
|
257 kumpf 1.104 const CIMPropertyList& propertyList)
|
258 kumpf 1.54 {
259 return _rep->enumerateInstances(
260 nameSpace,
261 className,
262 deepInheritance,
263 localOnly,
264 includeQualifiers,
265 includeClassOrigin,
266 propertyList);
267 }
268
|
269 kumpf 1.56 Array<CIMObjectPath> CIMClient::enumerateInstanceNames(
|
270 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
271 kumpf 1.104 const CIMName& className)
|
272 kumpf 1.54 {
273 return _rep->enumerateInstanceNames(
274 nameSpace,
275 className);
276 }
277
|
278 kumpf 1.61 Array<CIMObject> CIMClient::execQuery(
|
279 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
280 kumpf 1.54 const String& queryLanguage,
|
281 kumpf 1.104 const String& query)
|
282 kumpf 1.54 {
283 return _rep->execQuery(
284 nameSpace,
285 queryLanguage,
286 query);
287 }
288
|
289 kumpf 1.61 Array<CIMObject> CIMClient::associators(
|
290 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
291 kumpf 1.56 const CIMObjectPath& objectName,
|
292 kumpf 1.64 const CIMName& assocClass,
293 const CIMName& resultClass,
|
294 kumpf 1.54 const String& role,
295 const String& resultRole,
296 Boolean includeQualifiers,
297 Boolean includeClassOrigin,
|
298 kumpf 1.104 const CIMPropertyList& propertyList)
|
299 kumpf 1.54 {
300 return _rep->associators(
301 nameSpace,
302 objectName,
303 assocClass,
304 resultClass,
305 role,
306 resultRole,
307 includeQualifiers,
308 includeClassOrigin,
309 propertyList);
310 }
311
|
312 kumpf 1.56 Array<CIMObjectPath> CIMClient::associatorNames(
|
313 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
314 kumpf 1.56 const CIMObjectPath& objectName,
|
315 kumpf 1.64 const CIMName& assocClass,
316 const CIMName& resultClass,
|
317 kumpf 1.54 const String& role,
|
318 kumpf 1.104 const String& resultRole)
|
319 kumpf 1.54 {
320 return _rep->associatorNames(
321 nameSpace,
322 objectName,
323 assocClass,
324 resultClass,
325 role,
326 resultRole);
327 }
328
|
329 kumpf 1.61 Array<CIMObject> CIMClient::references(
|
330 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
331 kumpf 1.56 const CIMObjectPath& objectName,
|
332 kumpf 1.64 const CIMName& resultClass,
|
333 kumpf 1.54 const String& role,
334 Boolean includeQualifiers,
335 Boolean includeClassOrigin,
|
336 kumpf 1.104 const CIMPropertyList& propertyList)
|
337 kumpf 1.54 {
338 return _rep->references(
339 nameSpace,
340 objectName,
341 resultClass,
342 role,
343 includeQualifiers,
344 includeClassOrigin,
345 propertyList);
346 }
347
|
348 kumpf 1.56 Array<CIMObjectPath> CIMClient::referenceNames(
|
349 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
350 kumpf 1.56 const CIMObjectPath& objectName,
|
351 kumpf 1.64 const CIMName& resultClass,
|
352 kumpf 1.104 const String& role)
|
353 kumpf 1.54 {
354 return _rep->referenceNames(
355 nameSpace,
356 objectName,
357 resultClass,
358 role);
359 }
360
361 CIMValue CIMClient::getProperty(
|
362 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
363 kumpf 1.56 const CIMObjectPath& instanceName,
|
364 kumpf 1.104 const CIMName& propertyName)
|
365 kumpf 1.54 {
366 return _rep->getProperty(
367 nameSpace,
368 instanceName,
369 propertyName);
370 }
371
372 void CIMClient::setProperty(
|
373 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
374 kumpf 1.56 const CIMObjectPath& instanceName,
|
375 kumpf 1.64 const CIMName& propertyName,
|
376 kumpf 1.104 const CIMValue& newValue)
|
377 kumpf 1.54 {
378 _rep->setProperty(
379 nameSpace,
380 instanceName,
381 propertyName,
382 newValue);
383 }
384
385 CIMQualifierDecl CIMClient::getQualifier(
|
386 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
387 kumpf 1.104 const CIMName& qualifierName)
|
388 kumpf 1.54 {
389 return _rep->getQualifier(
390 nameSpace,
391 qualifierName);
392 }
393
394 void CIMClient::setQualifier(
|
395 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
396 kumpf 1.104 const CIMQualifierDecl& qualifierDeclaration)
|
397 kumpf 1.54 {
398 _rep->setQualifier(
399 nameSpace,
400 qualifierDeclaration);
401 }
402
403 void CIMClient::deleteQualifier(
|
404 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
405 kumpf 1.104 const CIMName& qualifierName)
|
406 kumpf 1.54 {
407 _rep->deleteQualifier(
408 nameSpace,
409 qualifierName);
410 }
411
412 Array<CIMQualifierDecl> CIMClient::enumerateQualifiers(
|
413 kumpf 1.104 const CIMNamespaceName& nameSpace)
|
414 kumpf 1.54 {
415 return _rep->enumerateQualifiers(
416 nameSpace);
417 }
418
419 CIMValue CIMClient::invokeMethod(
|
420 kumpf 1.64 const CIMNamespaceName& nameSpace,
|
421 kumpf 1.56 const CIMObjectPath& instanceName,
|
422 kumpf 1.64 const CIMName& methodName,
|
423 kumpf 1.54 const Array<CIMParamValue>& inParameters,
|
424 kumpf 1.104 Array<CIMParamValue>& outParameters)
|
425 kumpf 1.54 {
426 return _rep->invokeMethod(
427 nameSpace,
428 instanceName,
429 methodName,
430 inParameters,
431 outParameters);
|
432 mike 1.27 }
433
|
434 kumpf 1.104 void CIMClient::registerClientOpPerformanceDataHandler(
435 ClientOpPerformanceDataHandler& handler)
|
436 w.white 1.101 {
|
437 kumpf 1.104 _rep->registerClientOpPerformanceDataHandler(handler);
|
438 w.white 1.101 }
439
440 void CIMClient::deregisterClientOpPerformanceDataHandler()
441 {
|
442 kumpf 1.104 _rep->deregisterClientOpPerformanceDataHandler();
|
443 w.white 1.101 }
444
|
445 mike 1.27 PEGASUS_NAMESPACE_END
|