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