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