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