1 karl 1.9 //%2006////////////////////////////////////////////////////////////////////////
|
2 a.arora 1.3 //
|
3 karl 1.4 // 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 a.arora 1.3 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.4 // 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.5 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 karl 1.9 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 // EMC Corporation; Symantec Corporation; The Open Group.
|
13 a.arora 1.3 //
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 karl 1.9 //
|
21 a.arora 1.3 // 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 // Marek Szermutzky (MSzermutzky@de.ibm.com) PEP#139 Stage2
34 //
35 // Modified By: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
36 // Yi Zhou, Hewlett-Packard Company (yi_zhou@hp.com)
37 // Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com)
38 // Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
39 // Carol Ann Krug Graves, Hewlett-Packard Company
40 // (carolann_graves@hp.com)
41 // Jair Santos, Hewlett-Packard Company (jair.santos@hp.com)
|
42 david.dillard 1.6 // David Dillard, VERITAS Software Corp.
43 // (david.dillard@veritas.com)
44 //
|
45 a.arora 1.3 //%/////////////////////////////////////////////////////////////////////////////
46 #ifndef Pegasus_CIMManagedClient_h
47 #define Pegasus_CIMManagedClient_h
48
49 #include "CIMClientConnectionManager.h"
50
51 // #define CDEBUG(X) PEGASUS_STD(cout) << "CIMManagedClient:" << X << PEGASUS_STD(endl)
52 #define CDEBUG(X);
53
54 PEGASUS_NAMESPACE_BEGIN
55
56 class PEGASUS_CLIENT_LINKAGE CIMManagedClient
57 {
58
59 public:
60
|
61 david.dillard 1.7 // class constructor
62 CIMManagedClient();
|
63 a.arora 1.3
|
64 david.dillard 1.7 CIMManagedClient(CIMClientConnectionManager* cccm);
|
65 david.dillard 1.6
|
66 david.dillard 1.7 void setConnectionManager(CIMClientConnectionManager* cccm);
67 CIMClientConnectionManager* getConnectionManager(void);
|
68 david.dillard 1.6
|
69 david.dillard 1.7 // virtual class destructor has to be implemented by specific implementation
70 ~CIMManagedClient();
|
71 a.arora 1.3
72 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
73 // l10n start
74 /** Sets the accept languages that will be used on the next request.
75 Accept languages are the preferred languages that are to be
76 returned on the response to the next request.
|
77 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
78 @param port - input parameter, string containing port of CIMOM
|
79 a.arora 1.3 @param langs - REVIEWERS: Complete this
|
80 david.dillard 1.6 */
|
81 david.dillard 1.7 void setRequestAcceptLanguages(
82 const String& host,
83 const String& port,
|
84 kumpf 1.8 const AcceptLanguageList& langs
|
85 david.dillard 1.7 );
|
86 a.arora 1.3
87 /** Gets the accept languages that will be used on the next request.
88 Accept languages are the preferred languages that are to be
89 returned on the response to the next request.
|
90 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
91 @param port - input parameter, string containing port of CIMOM
|
92 a.arora 1.3 */
|
93 kumpf 1.8 AcceptLanguageList getRequestAcceptLanguages(
|
94 david.dillard 1.7 const String& host,
95 const String& port
96 ) const;
|
97 david.dillard 1.6
|
98 a.arora 1.3 /** Sets the content languages that will be used on the next request.
99 These content languages are the languages of the CIM objects that will
100 sent on the next request.
|
101 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
102 @param port - input parameter, string containing port of CIMOM
|
103 a.arora 1.3 @param langs REVIEWERS: Complete this
|
104 david.dillard 1.6 */
|
105 david.dillard 1.7 void setRequestContentLanguages(
106 const String& host,
107 const String& port,
|
108 kumpf 1.8 const ContentLanguageList& langs
|
109 david.dillard 1.7 );
|
110 a.arora 1.3
111 /** Gets the content languages that will be used on the next request.
112 * These content languages are the languages of the CIM objects that will
113 * sent on the next request.
|
114 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
115 @param port - input parameter, string containing port of CIMOM
|
116 david.dillard 1.6 */
|
117 kumpf 1.8 ContentLanguageList getRequestContentLanguages(
|
118 david.dillard 1.7 const String& host,
119 const String& port
120 ) const;
|
121 david.dillard 1.6
|
122 a.arora 1.3 /** Gets the content languages of the last response.
|
123 david.dillard 1.6 * These content languages are the languages of the CIM objects, or
|
124 a.arora 1.3 * CIM exceptions, that were returned on the last response..
|
125 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
126 @param port - input parameter, string containing port of CIMOM
|
127 david.dillard 1.6 */
|
128 kumpf 1.8 ContentLanguageList getResponseContentLanguages(
|
129 david.dillard 1.7 const String& host,
130 const String& port
131 ) const;
132
133 /** REVIEWERS: Complete this
134 *
135 @param host - input parameter, string containing hostname of CIMOM
136 @param port - input parameter, string containing port of CIMOM
137 */
138 void setRequestDefaultLanguages(
139 const String& host,
140 const String& port
141 );
|
142 a.arora 1.3 // l10n end
|
143 david.dillard 1.6 #endif // PEGASUS_USE_EXPERIMENTAL_INTERFACES
|
144 a.arora 1.3
145
146 /** The <TT>enumerateInstanceNames</TT> operation enumerates the
147 names (model paths) of the instances of a CIM Class in the target Namespace.
|
148 david.dillard 1.6
|
149 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
150 @param port - input parameter, string containing port of CIMOM
|
151 a.arora 1.3 @param nameSpace The nameSpace parameter is a string that defines the target
152 namespace. See defintion of
153 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
|
154 david.dillard 1.7 @param className The <TT>className</TT> input parameter defines the Class
|
155 a.arora 1.3 that is the basis for the enumeration.
156 @return If successful, the method returns zero or more names of Instances
157 (model paths) that meet the requested criteria.
158 If unsuccessful, one of the following status codes MUST be returned by this
159 method, where the first applicable error in the list (starting with the
160 first element of the list, and working down) is the error returned. Any
161 additional method-specific interpretation of the error in is given in
162 parentheses.
163
164 <UL>
165 <LI>CIM_ERR_ACCESS_DENIED
166 <LI>CIM_ERR_NOT_SUPPORTED
167 <LI>CIM_ERR_INVALID_NAMESPACE
168 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
169 duplicate, unrecognized or otherwise incorrect parameters)
170 <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the
171 basis for this enumeration does not exist)
172 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
173 </UL>
174 */
175 Array<CIMObjectPath> enumerateInstanceNames(
|
176 david.dillard 1.7 const String& host,
177 const String& port,
178 const CIMNamespaceName& nameSpace,
179 const CIMName& className
|
180 a.arora 1.3 );
181
182 /** The <TT>enumerateInstances</TT> method enumerates instances of a CIM
183 Class in the target Namespace.
|
184 david.dillard 1.6
|
185 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
186 david.dillard 1.6
|
187 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
188 a.arora 1.3
189 @param nameSpace The nameSpace parameter is a string that defines the target
190 namespace. See defintion of
191 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
192
193 @param className The <TT>className</TT> input parameter defines the
194 Class that is the basis for the enumeration.
195
196 @param localOnly If the <TT>localOnly</TT> input parameter is
197 <TT>true</TT>, this specifies that, for each returned Instance,
198 only elements (properties and qualifiers) overriden within the
199 definition of that Instance are included. If <TT>false</TT>,
200 all elements are returned. This parameter therefore effects a CIM
201 Server-side mechanism to filter certain elements of the returned object
202 based on whether or not they have been propagated from the parent
203 Class (as defined by the <TT>PROPAGATED</TT> attribute).
204
205 Only elements (properties, methods and qualifiers) defined or
206 overridden within the class are included in the response. Propagated
207 properties are not included because their values are based on another class’
208 information. If not specified, all elements of the class’ definition are
209 a.arora 1.3 returned. Note: When instances are returned, the InstanceName must include
210 all keys, including propagated keys. Therefore, these attributes are
211 included in the name part of the method response, but not in the value
212 information.
213
214 @param deepInheritance If the <TT>deepInheritance</TT> input
215 parameter is <TT>true</TT>, this specifies that, for each
216 returned Instance of the Class, all properties of the Instance MUST
217 be present (subject to constraints imposed by the other
218 parameters), including any which were added by subclassing the specified
219 Class. If <TT>false</TT>, each returned Instance includes only
220 properties defined for the specified Class.
221
222 The Enumerate Instances operation returns the same number of instances
223 regardless of whether or not the DeepInheritance flag is set. The
224 DeepInheritance flag is only used to determine whether or not the subclass
225 property values should be returned.
226
227 @param includeQualifiersIf the <TT>includeQualifiers</TT> input
228 parameter is <TT>true</TT>, this specifies that all Qualifiers
229 for each Instance (including Qualifiers on the Instance
230 a.arora 1.3 and on any returned Properties) MUST be included as
231 <TT><QUALIFIER></TT> elements in the response. If false no
232 <TT><QUALIFIER></TT> elements are present in each
233 returned Instance.
234
235 @param includeClassOrigin If the <TT>includeClassOrigin</TT> input
236 parameter is <TT>true</TT>, this specifies that the
237 <TT>CLASSORIGIN</TT> attribute MUST be present on all appropriate
238 elements in each returned Instance. If false, no
239 <TT>CLASSORIGIN</TT> attributes are present in each returned
240 Instance.
241
242 @param propertyList If the <TT>propertyList</TT> input parameter is not
243 <TT>NULL</TT>, the members of the array define one or more CIMProperty
244 names. Each returned Instance MUST NOT include elements
245 for any Properties missing from this list. Note that if
246 <TT>LocalOnly</TT> is specified as <TT>true</TT> (or
247 <TT>DeepInheritance</TT> is specified as <TT>false</TT>) this acts as an
248 additional filter on the set of Properties returned (for example,
249 if CIMProperty <TT>A</TT> is included in the
250 <TT>PropertyList</TT> but <TT>LocalOnly</TT> is set to true and
251 a.arora 1.3 <TT>A</TT> is not local to a returned Instance, then it will not be
252 included in that Instance). If the <TT>PropertyList</TT> input parameter
253 is an empty array this signifies that no Properties are included in each
254 returned Instance. If the <TT>PropertyList</TT> input parameter is
255 NULL this specifies that all Properties (subject to the conditions
256 expressed by the other parameters) are included in each returned
257 Instance.
258
259 If the <TT>propertyList</TT> contains duplicate elements,
260 the Server MUST ignore the duplicates but otherwise process the request
261 normally. If the <TT>PropertyList</TT> contains elements which are
262 invalid CIMProperty names for any target Instance, the Server MUST
263 ignore such entries but otherwise process the request normally.
264
265 @return If successful, the method returns zero or more named
266 Instances that meet the required criteria.
267
268 If unsuccessful, one of the following status codes MUST be returned
269 by this method, where the first applicable error in the list (starting
270 with the first element of the list, and working down) is the error
271 returned. Any additional method-specific interpretation of the error in
272 a.arora 1.3 is given in parentheses.
273
|
274 david.dillard 1.7 <UL>
275 <LI>CIM_ERR_ACCESS_DENIED
276 <LI>CIM_ERR_NOT_SUPPORTED
277 <LI>CIM_ERR_INVALID_NAMESPACE
278 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
279 duplicate, unrecognized or otherwise incorrect parameters)
280 <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the
281 basis for this enumeration does not exist)
282 <LI>CIM_ERR_FAILED (some other unspecified erroroccurred)</LI>
283 </UL>
284 */
|
285 a.arora 1.3 Array<CIMInstance> enumerateInstances(
|
286 david.dillard 1.7 const String& host,
287 const String& port,
288 const CIMNamespaceName& nameSpace,
289 const CIMName& className,
290 Boolean deepInheritance = true,
291 Boolean localOnly = true,
292 Boolean includeQualifiers = false,
293 Boolean includeClassOrigin = false,
294 const CIMPropertyList& propertyList = CIMPropertyList()
|
295 a.arora 1.3 );
296
297 /** The <TT>enumerateClasses</TT> method is used to enumerate subclasses of
298 a CIM Class in the target Namespace.
|
299 david.dillard 1.6
|
300 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
301 @param port - input parameter, string containing port of CIMOM
|
302 a.arora 1.3 @param nameSpace The nameSpace parameter is a string that defines the target
303 namespace. See defintion of
304 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
305 @param className The <TT>className</TT> input parameter defines the Class
306 that is the basis for the enumeration.
307 @param deepInheritance If the <TT>deepInheritance</TT> input
308 parameter is <TT>true</TT>, this specifies that all subclasses of
309 the specified Class should be returned (if the <TT>ClassName</TT> input
310 parameter is absent, this implies that all Classes in the target Namespace
311 should be returned). If <TT>false</TT>, only immediate child
312 subclasses are returned (if the <TT>ClassName</TT> input parameter is
313 NULL, this implies that all base Classes in the target Namespace should be
314 returned).
315
316 @param localOnly If the <TT>localOnly</TT> input parameter is
317 <TT>true</TT>, it specifies that, for each returned Class, only elements
318 (properties, methods and qualifiers) overriden within the definition of
319 that Class are included. If <TT>false</TT>, all elements are
320 returned. This parameter therefore effects a CIM Server-side mechanism
321 to filter certain elements of the returned object based on whether or not
322 they have been propagated from the parent Class (as defined by the
323 a.arora 1.3 <TT>PROPAGATED</TT> attribute).
324
325 @param includeQualifiers If the <TT>includeQualifiers</TT> input parameter
326 is <TT>true</TT>, this specifies that all Qualifiers for each Class
327 (including Qualifiers on the Class and on any returned Properties, Methods
328 or CIMMethod Parameters) MUST be included as <TT><QUALIFIER></TT>
329 elements in the response. If false no <TT><QUALIFIER></TT> elements
330 are present in each returned Class.
331
332 @param includeClassOrigin If the <TT>IncludeClassOrigin</TT> input
333 parameter is <TT>true</TT>, this specifies that the <TT>CLASSORIGIN</TT>
334 attribute MUST be present on all appropriate elements in each returned
335 Class. If false, no <TT>CLASSORIGIN</TT> attributes are present in each
336 returned Class.
337
338 @return If successful, the method returns zero or more Classes that meet the
339 required criteria.
340
341 If unsuccessful, one of the following status codes MUST be returned by
342 this method, where the first applicable error in the list (starting with the
343 first element of the list, and working down) is the error returned. Any
344 a.arora 1.3 additional method-specific interpretation of the error in is given in
345 parentheses.
346
347 <UL>
348 <LI>CIM_ERR_ACCESS_DENIED
349 <LI>CIM_ERR_NOT_SUPPORTED
350 <LI>CIM_ERR_INVALID_NAMESPACE
351 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
352 duplicate, unrecognized or otherwise incorrect parameters)
353 <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the
354 basis for this enumeration does not exist)
355 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
356 </LI>
357 </UL>
358 */
359 Array<CIMClass> enumerateClasses(
|
360 david.dillard 1.7 const String& host,
361 const String& port,
362 const CIMNamespaceName& nameSpace,
363 const CIMName& className = CIMName(),
364 Boolean deepInheritance = false,
365 Boolean localOnly = true,
366 Boolean includeQualifiers = true,
367 Boolean includeClassOrigin = false
|
368 a.arora 1.3 );
|
369 david.dillard 1.7
|
370 a.arora 1.3 /** The <TT>enumerateClassNames</TT> operation is used to enumerate the
371 names of subclasses of a CIM Class in the target Namespace.
|
372 david.dillard 1.6
|
373 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
374 @param port - input parameter, string containing port of CIMOM
|
375 a.arora 1.3 @param nameSpace The nameSpace parameter is a string that defines the target
376 namespace. See defintion of
377 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
378 @param className The <TT>className</TT> input parameter defines the Class
379 that is the basis for the enumeration.
380 @param deepInheritance If the <TT>deepInheritance</TT> input parameter is
381 true, this specifies that the names of all subclasses of the specified Class
382 should be returned (if the ClassName input parameter is absent, this implies
383 that the names of all Classes in the target Namespace should be returned).
384 If false, only the names of immediate child subclasses are returned (if the
385 className input parameter is NULL, this implies that the names of all base
386 Classes in the target Namespace should be returned). @return If successful,
387 the method returns zero or more names of Classes that meet the requested
388 criteria. If unsuccessful, one of the following status codes MUST be
389 returned by this method, where the first applicable error in the list
390 (starting with the first element of the list, and working down) is the error
391 returned. Any additional method-specific interpretation of the error in is
392 given in parentheses.
393
394 <UL>
395 <LI>CIM_ERR_ACCESS_DENIED
396 a.arora 1.3 <LI>CIM_ERR_NOT_SUPPORTED
397 <LI>CIM_ERR_INVALID_NAMESPACE
398 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
399 duplicate, unrecognized or otherwise incorrect parameters)
400 <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the
401 basis for this enumeration does not exist)
402 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
403 </UL>
404 */
405 Array<CIMName> enumerateClassNames(
|
406 david.dillard 1.7 const String& host,
407 const String& port,
408 const CIMNamespaceName& nameSpace,
409 const CIMName& className = CIMName(),
410 Boolean deepInheritance = false
|
411 a.arora 1.3 );
412
413 /** The <TT>getClass</TT> method executes a CIM operation that returns
|
414 david.dillard 1.6 a single CIM Class from the target Namespace where the ClassName input
415 parameter defines the name of the class to be retrieved.
416
|
417 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
418 @param port - input parameter, string containing port of CIMOM
|
419 david.dillard 1.6 @param nameSpace (Required) The <TT>nameSpace</TT> parameter is a CIMName
420 object that defines the target Namespace. See definition of
421 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
422 @param className (Required)The <TT>className</TT> input parameter is a CIMName
423 object that defines the name of the Class to be retrieved.
|
424 david.dillard 1.7 @param localOnly (Boolean, Optional, default = true, Input) If the
425 <TT>localOnly</TT> input
|
426 david.dillard 1.6 parameter is true, this specifies that only CIM Elements (properties,
427 methods and qualifiers) overridden within the definition of the Class are
428 returned. If false, all elements are returned. This parameter therefore
429 effects a CIM Server-side mechanism to filter certain elements of the
430 returned object based on whether or not they have been propagated from the
431 parent Class (as defined by the PROPAGATED attribute).
432
433 @param includeQualifiers (Boolean, Optional, default = true, Input) If the
434 <TT>includeQualifiers</TT> input parameter is true, this specifies that
435 all Qualifiers for that Class (including Qualifiers on the Class and on
436 any returned Properties, Methods or CIMMethod Parameters) MUST be included
437 as elements in the response. If false no QUALIFIER elements are present
438 in the returned Class object.
439
440 @param includeClassOrigin (Boolean,Optional, default = false, Input) If
441 the <TT>includeClassOrigin</TT> input parameter is true, this specifies
442 that the CLASSORIGIN attribute MUST be present on all appropriate elements
443 in the returned Class. If false, no CLASSORIGIN attributes are present in
444 the returned Class.
445
446 @param propertyList (optional, Input) If the <TT>propertyList</TT>
447 david.dillard 1.6 CIMPropertyList input parameter is not NULL, the members of the array
448 define one or more CIMProperty names. The returned Class WILL NOT include
449 elements for any Properties missing from this list. Note that if
450 LocalOnly is specified as true this acts as an additional filter on the
451 set of Properties returned (for example, if CIMProperty A is included in
452 the PropertyList but LocalOnly is set to true and A is not local to the
453 requested Class, then it will not be included in the response). If the
454 PropertyList input parameter is an empty array this signifies that no
455 Properties are included in the response. If the PropertyList input
456 parameter is NULL this specifies that all Properties (subject to the
457 conditions expressed by the other parameters) are included in the
458 response.
|
459 a.arora 1.3 @see CIMPropertyList
|
460 david.dillard 1.6
|
461 david.dillard 1.7 If the <TT>propertyList</TT> contains duplicate elements, the Server
462 MUST ignore the duplicates but otherwise process the request normally.
463 If the PropertyList contains elements which are invalid CIMProperty
464 names for the target Class, the Server MUST ignore such entries but
465 otherwise process the request normally.
|
466 david.dillard 1.6
|
467 david.dillard 1.7 @return If successful, the return value is a single CIMClass objcet.
|
468 david.dillard 1.6
|
469 david.dillard 1.7 If unsuccessful, an exception is executed. If the error is local, this may
|
470 a.arora 1.3 be any local exception.
471 If the error is in the host normally a CIMException is returned with one of the
|
472 david.dillard 1.7 following CIMException codes, where the first applicable error in the
473 list (starting with the first element of the list, and working down) is the error
474 returned. Any additional method-specific interpretation of the error is given
475 in parentheses.
476 <UL>
477 <LI>CIM_ERR_ACCESS_DENIED
478 <LI>CIM_ERR_INVALID_NAMESPACE
479 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
480 duplicate,unrecognized or otherwise incorrect parameters)
481 <LI>CIM_ERR_NOT_FOUND (the request CIM Class does not exist in
482 the specified namespace)
483 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
|
484 a.arora 1.3 @exceptions REVIEWERS: Need to complete this definition
|
485 david.dillard 1.7 </UL>
|
486 a.arora 1.3 <pre>
487 ... Connect sequence.
488 CIMNamespace("root/cimv2);
489 Boolean localOnly = true;
490 Boolean includQualifiers = true;
491 Boolean includeClassOrigin = false;
492 CIMPropertyList propertyList; // empty property list
493 try
494 CIMException checkClassException;
|
495 david.dillard 1.6 {
|
496 a.arora 1.3 CIMClass cimClass = client.getClass(nameSpace,
497 className,
498 localOnly,
499 includeQualifiers,
500 includeClassOrigin,
501 propertyList);
502 }
503 catch(CIMException& e)
504 {
505 if (checkClassException.getCode() = CIM_ERR_NOT_FOUND)
506 cout << "Class " << className << " not found." << endl;
507 ...
508 }
509 catch(Exception& e)
510 {
511 }
512 ...
|
513 david.dillard 1.6
|
514 a.arora 1.3 // An alternate call with the default parameters would be:
515 // This uses the defaults localOnly = includeQualifiers = true
516 // includeClassOrigin = false. propertyList = Null;
|
517 david.dillard 1.6
|
518 a.arora 1.3 CIMClass cimClass = client.getClass(nameSpace, className);
519 </pre>
520 @exception REVIEWERS: Complete this
521 @see CIMExcetpion
522 */
523 CIMClass getClass(
|
524 david.dillard 1.7 const String& host,
525 const String& port,
526 const CIMNamespaceName& nameSpace,
527 const CIMName& className,
528 Boolean localOnly = true,
529 Boolean includeQualifiers = true,
530 Boolean includeClassOrigin = false,
531 const CIMPropertyList& propertyList = CIMPropertyList()
|
532 a.arora 1.3 );
533
534 /** The <TT>createClass</TT> method creates a single CIM Class in
535 the target Namespace. The Class MUST NOT already exist. The NewClass input
536 parameter defines the new Class. The proposed definition MUST be a correct
537 Class definition according to the CIM specification.
538
539 In processing the creation of the new Class, the following rules MUST be
540 conformed to by the CIM Server:
541
542 Any CLASSORIGIN and PROPAGATED attributes in the NewClass MUST be ignored by
543 the Server. If the new Class has no Superclass, the NewClass parameter
544 defines a new base Class. The Server MUST ensure that all Properties and
545 Methods of the new Class have a CLASSORIGIN attribute whose value is the
546 name of the new Class. If the new Class has a Superclass, the NewClass
547 parameter defines a new Subclass of that Superclass. The Superclass MUST
548 exist. The Server MUST ensure that:
549
550 <UL>
551 <LI>Any Properties, Methods or Qualifiers in the Subclass not defined in
552 the Superclass are created as new elements of the Subclass. In
553 a.arora 1.3 particular the Server MUST set the CLASSORIGIN attribute on the new
554 Properties and Methods to the name of the Subclass, and ensure that all
555 other Properties and Methods preserve their CLASSORIGIN attribute value
556 from that defined in the Superclass
557
558 If a CIMProperty is defined in the Superclass and in the Subclass, the
559 value assigned to that property in the Subclass (including NULL) becomes
560 the default value of the property for the Subclass. If a CIMProperty or
561 CIMMethod of the Superclass is not specified in the Subclass, then that
562 CIMProperty or CIMMethod is inherited without modification by the
563 Subclass
564
565 <LI>Any Qualifiers defined in the Superclass with a TOSUBCLASS attribute
566 value of true MUST appear in the resulting Subclass. Qualifiers in the
567 Superclass with a TOSUBCLASS attribute value of false MUST NOT be
568 propagated to the Subclass . Any CIMQualifier propagated from the
569 Superclass cannot be modified in the Subclass if the OVERRIDABLE
570 attribute of that CIMQualifier was set to false in the Superclass. It is
571 a
572 Client error to specify such a CIMQualifier in the NewClass with a
573 different definition to that in the Superclass (where definition
574 a.arora 1.3 encompasses the name, type and flavor attribute settings of the
575 <QUALIFIER> element, and the value of the CIMQualifier).
|
576 david.dillard 1.7 </LI>
|
577 a.arora 1.3 </UL>
|
578 david.dillard 1.6
|
579 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
580 david.dillard 1.6
|
581 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
582 a.arora 1.3
583 @param nameSpace The nameSpace parameter is a string that defines the target
584 namespace. See defintion of
585 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
586
587 @param newClass The <TT>newClass<?TT> input parameter defines the new Class.
588
589 @return If successful, the specified Class MUST have been created by the CIM
590 Server.
591
592 If unsuccessful, one of the following status codes MUST be returned by this
593 method, where the first applicable error in the list (starting with the
594 first element of the list, and working down) is the error returned. Any
595 additional method-specific interpretation of the error in is given in
596 parentheses.
597 <UL>
598 <LI>CIM_ERR_ACCESS_DENIED
599 <LI>CIM_ERR_NOT_SUPPORTED
600 <LI>CIM_ERR_INVALID_NAMESPACE
601 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
602 unrecognized or otherwise incorrect parameters)
603 a.arora 1.3 <LI>CIM_ERR_ALREADY_EXISTS (the CIM Class already exists)
604 <LI>CIM_ERR_INVALID_SUPERCLASS (the putative CIM Class declares a
605 non-existent superclass)
606 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
607 </UL>
608 */
609 void createClass(
|
610 david.dillard 1.7 const String& host,
611 const String& port,
612 const CIMNamespaceName& nameSpace,
613 const CIMClass& newClass
|
614 a.arora 1.3 );
615
616 /** The <TT>DeleteClass</TT> method deletes a single CIM Class from the
|
617 david.dillard 1.7 target Namespace.
618
619 @param host - input parameter, string containing hostname of CIMOM
620
621 @param port - input parameter, string containing port of CIMOM
622
623 @param nameSpace The nameSpace parameter is a CIMName that defines
624 the target namespace. See defintion of
625 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
|
626 david.dillard 1.6
|
627 david.dillard 1.7 @param className The <TT>className</TT> input parameter defines the name
628 of the Class to be deleted.
|
629 david.dillard 1.6
|
630 david.dillard 1.7 @return If successful, the specified Class (including any subclasses
631 and any instances) MUST have been removed by the CIM Server. The
632 operation MUST fail if any one of these objects cannot be deleted.
|
633 a.arora 1.3
|
634 david.dillard 1.7 If unsuccessful, one of the following status codes MUST be returned by
635 this method, where the first applicable error in the list (starting
636 with the first element of the list, and working down) is the error
637 returned. Any additional method-specific interpretation of the error
638 in is given in parentheses.
639
640 <UL>
641 <LI>CIM_ERR_ACCESS_DENIED
642 <LI>CIM_ERR_NOT_SUPPORTED
643 <LI>CIM_ERR_INVALID_NAMESPACE
644 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
645 unrecognized or otherwise incorrect parameters)
646 <LI>CIM_ERR_NOT_FOUND (the CIM Class to be deleted does not exist)
647 <LI>CIM_ERR_CLASS_HAS_CHILDREN (the CIM Class has one or more
648 subclasses which cannot be deleted)
649 <LI>CIM_ERR_CLASS_HAS_INSTANCES (the CIM Class has one or more
650 instances which cannot be deleted)
651 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
652 </UL>
|
653 a.arora 1.3 */
654 void deleteClass(
|
655 david.dillard 1.7 const String& host,
656 const String& port,
657 const CIMNamespaceName& nameSpace,
658 const CIMName& className
|
659 a.arora 1.3 );
|
660 david.dillard 1.7
|
661 a.arora 1.3 /** The <TT>deleteQualifier</TT> operation deletes a single CIMQualifier
662 declaration from the target Namespace.
|
663 david.dillard 1.6
|
664 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
665 david.dillard 1.6
|
666 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
667 a.arora 1.3
668 @param nameSpace The nameSpace parameter is a CIMName that defines the target
669 namespace. See defintion of
670 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
671
672 @param qualifierName CIMName <TT>qualifierName</TT> input parameter identifies
|
673 david.dillard 1.6 the CIMQualifier whose declaration to be deleted.
674
|
675 a.arora 1.3 @return If successful, the specified CIMQualifier declaration MUST have been deleted
676 from the Namespace with a normal return from the call.
677
|
678 david.dillard 1.6 If there is any error one of the CIMException errors is returned. The
679 errors are based on the CIM error codes defined below:
|
680 david.dillard 1.7 <UL>
|
681 a.arora 1.3 <LI>CIM_ERR_ACCESS_DENIED
682 <LI>CIM_ERR_NOT_SUPPORTED
683 <LI>CIM_ERR_INVALID_NAMESPACE
|
684 david.dillard 1.6 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate, unrecognized or
|
685 a.arora 1.3 otherwise incorrect parameters)
686 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
687 </UL>
688 @exception CIMexception - May return any of the CIMException codes defined above.
689 @exception Exception
690 <pre>
691 // simple function to delete qualifier named "Expensive". Exceptions ignored.
692 CIMClient client;
693 client.connect("localhost", 5988, String::EMPTY, String::EMPTY);
694 CIMName qualifierName("Expensive");
695 client.deleteQualifier(CIMName("root/cimv2",qualifierName);
696 </pre>
697 */
698 void deleteQualifier(
|
699 david.dillard 1.7 const String& host,
700 const String& port,
701 const CIMNamespaceName& nameSpace,
702 const CIMName& qualifierName
|
703 a.arora 1.3 );
704
705 /** The <TT>getQualifier</TT> operation retrieves a single CIMQualifier
706 declaration from the target Namespace.
|
707 david.dillard 1.6
|
708 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
709 david.dillard 1.6
|
710 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
711 a.arora 1.3
|
712 david.dillard 1.6 @param nameSpace The nameSpace parameter is a CIMNameSpace object that defines
|
713 a.arora 1.3 the target namespace. See defintion of
714 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
715
|
716 david.dillard 1.6 @param qualifierName The <TT>qualifierName</TT> input parameter is a CIMName object
|
717 a.arora 1.3 that identifies the CIMQualifier whose declaration to be retrieved.
718
719 @return If successful, the method returns the CIMQualifier declaration for
720 the named CIMQualifier.
721
722 If unsuccessful, one of the following status codes MUST be returned by this
723 method, where the first applicable error in the list (starting with the
724 first element of the list, and working down) is the error returned. Any
725 additional method-specific interpretation of the error in is given in
726 parentheses.
727
728 <UL>
729 <LI>CIM_ERR_ACCESS_DENIED
730 <LI>CIM_ERR_NOT_SUPPORTED
731 <LI>CIM_ERR_INVALID_NAMESPACE
732 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
|
733 david.dillard 1.7 duplicate, unrecognized or otherwise incorrect parameters)
|
734 a.arora 1.3 <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist in the specified
|
735 david.dillard 1.7 namespace)
|
736 a.arora 1.3 <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the requested
|
737 david.dillard 1.7 CIM Instance does not exist in the specified namespace)
|
738 a.arora 1.3 <LI>CIM_ERR_NO_SUCH_PROPERTY (the CIM Instance does exist, but the
|
739 david.dillard 1.7 requested CIMProperty does not)
|
740 a.arora 1.3 <LI>CIM_ERR_TYPE_MISMATCH (the supplied value is incompatible with the
|
741 david.dillard 1.7 type of the CIMProperty)
|
742 a.arora 1.3 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
743 </UL>
744 */
745 CIMQualifierDecl getQualifier(
|
746 david.dillard 1.7 const String& host,
747 const String& port,
748 const CIMNamespaceName& nameSpace,
749 const CIMName& qualifierName
|
750 a.arora 1.3 );
751
752 /** The <TT>modifyClass</TT> method modifies an existing CIM Class in the
753 target Namespace.
754
755 The Class MUST already exist. The <TT>ModifiedClass</TT>
756 input parameter defines the set of changes (which MUST be correct
757 amendments to the CIM Class as defined by the CIM Specification) to be made
758 to the current class definition.
759
760 In processing the modifcation of the Class, the following rules MUST be
761 conformed to by the CIM Server.
762
763 <UL>
764 <LI>Any <TT>CLASSORIGIN</TT> and <TT>PROPAGATED</TT> attributes in the
765 <TT>ModifiedClass</TT> MUST be ignored by the Server.
766 <LI>If the modified Class has no Superclass,
767 the<TT>ModifiedClass</TT> parameter defines modifications to a base Class.
768 The Server MUST ensure that:
769 <UL>
770 <LI>All Properties and Methods of the modified Class have a
771 a.arora 1.3 <TT>CLASSORIGIN</TT> attribute whose value is the name of this Class.
772 <LI>Any Properties, Methods or Qualifiers in the existing Class
773 definition which do not appear in the <FONT face="Courier
774 New">ModifiedClass</TT> parameter are removed from the resulting
775 modified Class.</LI>
776 </UL>
777 <LI>If the modified Class has a Superclass,the <TT>ModifiedClass</TT>
778 parameter defines modifications to a Subclass of that Superclass. The
779 Superclass MUST exist, and the Client MUST NOT change the name of the
780 Superclass in the modified Subclass. The Server MUST ensure that:
781 <UL>
782 <LI>Any Properties, Methods or Qualifiers in the Subclass not
783 defined in the Superclass are created as elements of the Subclass. In
784 particular the Server MUST set the <TT>CLASSORIGIN</TT> attribute on the
785 new Properties and Methods to the name of the Subclass, and MUST ensure
786 that all other Properties and Methods preserve their
787 <TT>CLASSORIGIN</TT> attribute value from that defined in the
788 Superclass.
789 <LI>Any CIMProperty, CIMMethod or CIMQualifier previously defined in the
790 Subclass
791 but not defined in the Superclass, and which is not present in the
792 a.arora 1.3 <TT>ModifiedClass</TT> parameter, is removed from the Subclass.
793 <LI>If a CIMProperty is specified in the <TT>ModifiedClass</TT>
794 parameter, the value assigned to that property therein (including
795 NULL) becomes the default value of the property for the Subclass.
796 <LI>If a CIMProperty or CIMMethod of the Superclass is not specified in
797 the
798 Subclass, then that CIMProperty or CIMMethod is inherited
799 without modification by the Subclass (so that any previous changes to
800 such an Element in the Subclass are lost).
801 <LI>If a CIMQualifier in the Superclass is not specified in the
802 Subclass, and the CIMQualifier is defined in the Superclass with a
803 <TT>TOSUBCLASS</TT> attribute value of <TT>true</TT>, then the
804 CIMQualifier
805 MUST still be present in the resulting modified Subclass (it is not
806 possible to remove a propagated CIMQualifier from a Subclass).
807 <LI>Any CIMQualifier propagated from the Superclass cannot be
808 modified in the Subclass if the <TT>OVERRIDABLE</TT> attribute of
809 that CIMQualifier was set to <TT>false</TT> in the Superclass. It is a
810 Client error to specify such a CIMQualifier in the
811 <TT>ModifiedClass</TT>
812 with a different definition to that in the Superclass (where definition
813 a.arora 1.3 encompasses the name, type and flavor attribute settings of the
814 <TT><QUALIFIER></TT> element, and the value of the CIMQualifier).
815 <LI>Any Qualifiers defined in the Superclass with a <TT>TOSUBCLASS</TT>
816 attribute value of <TT>false</TT> MUST NOT be propagated to the
817 Subclass.</LI> </UL>
818 </LI></UL>
|
819 david.dillard 1.6
|
820 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
821 david.dillard 1.6
|
822 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
823 a.arora 1.3
824 @param nameSpace The nameSpace parameter is a string that defines the target
825 namespace. See defintion of
826 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
827
828 @param modifiedClass The <TT>modifiedClass</TT>
829 input parameter defines the set of changes (which MUST be correct
830 amendments to the CIM Class as defined by the CIM Specification) to be made
831 to the current class definition.
832
833 @return If successful, the specified Class MUST have been updated by
834 the CIM Server.
835
836 The request to modify the Class MUST fail if the Server cannot update any
837 existing Subclasses or Instances of that Class in a consistent manner.
838
839 @return If unsuccessful, one of the following status codes MUST be
840 returned by this method, where the first applicable error in the list
841 (starting with the first element of the list, and working down) is the
842 error returned. Any additional method-specific interpretation of the error
843 in is given in parentheses.
844 a.arora 1.3
845 <UL>
846 <LI>CIM_ERR_ACCESS_DENIED
847 <LI>CIM_ERR_NOT_SUPPORTED
848 <LI>CIM_ERR_INVALID_NAMESPACE
849 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
850 duplicate, unrecognized or otherwise incorrect parameters)
851 <LI>CIM_ERR_NOT_FOUND (the CIM Class does not
852 exist)
853 <LI>CIM_ERR_INVALID_SUPERCLASS (the putative CIM Class
854 declares a non-existent or incorrect superclass)
855 <LI>CIM_ERR_CLASS_HAS_CHILDREN (the modification could
856 not be performed because it was not possible to update the subclasses of
857 the Class in a consistent fashion)
858 <LI>CIM_ERR_CLASS_HAS_INSTANCES (the modification could
859 not be performed because it was not possible to update
860 the instances of the Class in a consistent fashion)
861 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
862 </LI></UL>
863 */
864 void modifyClass(
|
865 david.dillard 1.7 const String& host,
866 const String& port,
867 const CIMNamespaceName& nameSpace,
868 const CIMClass& modifiedClass
|
869 a.arora 1.3 );
870
871 /** The <TT>setQualifier</TT> creates or update a single CIMQualifier
872 declaration in the target Namespace. If the CIMQualifier declaration
873 already exists it is overwritten.
|
874 david.dillard 1.6
|
875 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
876 david.dillard 1.6
|
877 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
878 a.arora 1.3
879 @param nameSpace The nameSpace parameter is a CIMName that defines the target
880 namespace. See defintion of
881 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
882
883 @param CIMQualifierDecl The <TT>CIMQualifierDecl</TT> input parameter is a
884 CIMQualifier object that defines the CIMQualifier Declaration to be added to
885 the Namespace.
886
887 @return If successful, the CIMQualifier declaration MUST have been added to
888 the target Namespace. If a CIMQualifier declaration with the same
889 CIMQualifier name already existed, then it MUST have been replaced by the
890 new declaration.
891
892 If unsuccessful, a CIMException with one of the following status codes MUST be returned
893 by this method, where the first applicable error in the list (starting with
894 the first element of the list, and working down) is the error returned. Any
895 additional method-specific interpretation of the error in is given in
896 parentheses.
897
898 <UL>
899 a.arora 1.3 <LI>CIM_ERR_ACCESS_DENIED
900 <LI>CIM_ERR_NOT_SUPPORTED
901 <LI>CIM_ERR_INVALID_NAMESPACE
902 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
|
903 david.dillard 1.7 duplicate, unrecognized or otherwise incorrect parameters)
|
904 a.arora 1.3 <LI>CIM_ERR_NOT_FOUND (the requested CIMQualifier declaration did not
905 exist)
906 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
907 </LI>
908 </UL>
909 @exception CIMException - Any of the CIMException codes defined above may
910 be returned.
911 @Exception Exception - TBD
912 <pre>
913 ... Connect with CIMClient object client;
914 CIMNamespaceName nameSpace("root/cimv2");
915 CIMQualifierDecl qual1(
|
916 david.dillard 1.6 CIMName ("CIMTYPE"),
|
917 a.arora 1.3 String(),
918 CIMScope::PROPERTY,
919 CIMFlavor::TOINSTANCE);
920 try
921 {
922 client.setQualifier(nameSpace, qual1);
923 }
924 catch(CIMException e)
925 {
926 ...
927 }
928 </pre>
929 */
930 void setQualifier(
|
931 david.dillard 1.7 const String& host,
932 const String& port,
933 const CIMNamespaceName& nameSpace,
934 const CIMQualifierDecl& qualifierDeclaration
|
935 a.arora 1.3 );
|
936 david.dillard 1.7
|
937 a.arora 1.3 /** The <TT>enumerateQualifiers</TT> operation is used to enumerate
938 CIMQualifier declarations from the target Namespace.
|
939 david.dillard 1.6
|
940 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
941 david.dillard 1.6
|
942 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
943 a.arora 1.3
944 @param nameSpace The nameSpace parameter is a string that defines the target
945 namespace. See defintion of
946 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
947
948 @return If successful, the method returns zero or more CIMQualifier
949 declarations.
950
951 If unsuccessful, one of the following status codes MUST be returned by this
952 method, where the first applicable error in the list (starting with the
953 first element of the list, and working down) is the error returned. Any
954 additional method-specific interpretation of the error in is given in
955 parentheses.
956
957 <UL>
958 <LI>CIM_ERR_ACCESS_DENIED
959 <LI>CIM_ERR_NOT_SUPPORTED
960 <LI>CIM_ERR_INVALID_NAMESPACE
961 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
|
962 david.dillard 1.7 duplicate, unrecognized or otherwise incorrect parameters)
|
963 a.arora 1.3 <LI>CIM_ERR_NOT_FOUND (the requested CIMQualifier declaration did not
964 exist)
965 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
966 </LI>
967 </UL>
968 <pre>
969 // function to get all qualifer declarations and print xml form.
970 try
971 {
|
972 david.dillard 1.7 CIMClient client;
973 client.connect("localhost", 5988, String::EMPTY, String::EMPTY);
|
974 a.arora 1.3 Array<CIMQualifierDecl> qualifierDecls;
975 CIMNamespaceName nameSpace("root/cimv2");
976 qualifierDecls = client.enumerateQualifiers(nameSpace);
977 }
978 catch(Exception& e)
979 {
|
980 david.dillard 1.7 PEGASUS_STD(cerr) << "Error: " << e.getMessage() << PEGASUS_STD(endl);
981 exit(1);
|
982 a.arora 1.3 }
983 for (Uint32 i = 0; i < qualifierDecls.size(); i++)
984 {
985 XmlWriter::printQualifierDeclElement(qualifierDecls[i], cout);
986 }
987 </pre>
988 */
989 Array<CIMQualifierDecl> enumerateQualifiers(
|
990 david.dillard 1.7 const String& host,
991 const String& port,
992 const CIMNamespaceName& nameSpace
|
993 a.arora 1.3 );
994
995 /**
996 The <TT>getProperty</TT>operation is used to retrieve a single property
997 value from a CIM Instance in the target Namespace.
|
998 david.dillard 1.6
|
999 a.arora 1.3 @param instanceName The <TT>instanceName</TT> input parameter specifies the
1000 name of the Instance (model path) from which the CIMProperty value is
1001 requested. \\Ref{INSTANCENAME}
|
1002 david.dillard 1.7 It is a full specified object path, thus it consists also of target namespace,
1003 hostname and port
|
1004 a.arora 1.3
1005 @param propertyName The <TT>propertyName</TT> input parameter specifies the
1006 name of the CIMProperty whose value is to be returned.
1007
1008 @return If successful, the return value specifies the value of the requested
1009 CIMProperty. If the value is NULL then no element is returned.
1010
1011 If unsuccessful, one of the following status codes MUST be returned by this
1012 method, where the first applicable error in the list (starting with the
1013 first element of the list, and working down) is the error returned. Any
1014 additional method-specific interpretation of the error in is given in
1015 parentheses.
1016 <UL>
|
1017 david.dillard 1.7 <LI>CIM_ERR_ACCESS_DENIED
1018 <LI>CIM_ERR_INVALID_NAMESPACE
1019 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
1020 unrecognized or otherwise incorrect parameters)
1021 <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist in the specified
1022 namespace)
1023 <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the requested CIM
1024 Instance does not exist in the specified namespace)
1025 <LI><LI>CIM_ERR_NO_SUCH_PROPERTY (the CIM Instance does exist, but the
1026 requested CIMProperty does not)
1027 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
|
1028 a.arora 1.3 </UL>
1029 */
1030 CIMValue getProperty(
|
1031 david.dillard 1.7 const CIMObjectPath& instanceName,
1032 const CIMName& propertyName
|
1033 a.arora 1.3 );
1034
1035 /** The <TT>setProperty</TT> operation sets a single property value in a CIM
1036 Instance in the target Namespace.
1037
1038 @param instanceName The <TT>instanceName</TT> input parameter specifies the
1039 name of the Instance (model path) for which the CIMProperty value is to be
1040 updated.
|
1041 david.dillard 1.7 It consists of a full specified object path, thus it consists also of target namespace,
1042 hostname and port
|
1043 a.arora 1.3
1044 @param propertyName The <TT>propertyName</TT> input parameter specifies the
1045 name of the CIMProperty whose value is to be updated.
1046
1047 @param newValue The NewValue input parameter specifies the new value for the
1048 CIMProperty (which may be NULL).
1049
1050 @return If unsuccessful, one of the following status codes MUST be returned
1051 by this method, where the first applicable error in the list (starting with
1052 the first element of the list, and working down) is the error returned. Any
1053 additional method-specific interpretation of the error in is given in
1054 parentheses.
1055 <UL>
1056 <LI>CIM_ERR_ACCESS_DENIED
1057 <LI>CIM_ERR_INVALID_NAMESPACE
1058
1059 <LI>CIM_ERR_INVALID_PARAMETER (including
1060 missing,duplicate, unrecognized or otherwise incorrect parameters)
1061
1062 <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist in the specified
1063 namespace)
1064 a.arora 1.3 <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the requested
1065 CIM Instance does not exist in the specified namespace)
1066 <LI>CIM_ERR_NO_SUCH_PROPERTY (the CIM Instance does exist, but the
1067 requested CIMProperty does not)
1068 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
1069 </UL>
1070 */
1071 void setProperty(
|
1072 david.dillard 1.7 const CIMObjectPath& instanceName,
1073 const CIMName& propertyName,
1074 const CIMValue& newValue = CIMValue()
|
1075 a.arora 1.3 );
1076
1077 /** The <TT>DeleteInstance</TT> operation deletes a single CIM Instance
|
1078 david.dillard 1.7 from the target Namespace.
1079
1080 @param instanceName The <TT>instanceName</TT> input parameter defines
1081 the name (model path) of the Instance to be deleted.
1082 It is a full specified object path, thus it consists also of target namespace,
1083 hostname and port
|
1084 a.arora 1.3
|
1085 david.dillard 1.7 @return If successful, the specified Instance MUST have been removed
1086 by the CIM Server.
1087
1088 If unsuccessful, one of the following status codes MUST be returned by
1089 this method, where the first applicable error in the list (starting
1090 with the first element of the list, and working down) is the error
1091 returned. Any additional method-specific interpretation of the error in
1092 is given in parentheses.
1093
1094 <UL>
1095 <LI>CIM_ERR_ACCESS_DENIED
1096 <LI>CIM_ERR_NOT_SUPPORTED
1097 <LI>CIM_ERR_INVALID_NAMESPACE
1098 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
1099 unrecognized or otherwise incorrect parameters)
1100 <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist in the
1101 specified namespace)
1102 <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the requested
1103 CIM Instance does not exist in the specified namespace)
1104 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
1105 </UL>
|
1106 a.arora 1.3 */
1107 void deleteInstance(
|
1108 david.dillard 1.7 const CIMObjectPath& instanceName
|
1109 a.arora 1.3 );
|
1110 david.dillard 1.7
|
1111 a.arora 1.3 /** The <TT>createInstance</TT> method creates a single CIM
1112 Instance in the target Namespace. The Instance MUST NOT already exist.
1113
1114 In processing the creation of the new Instance, the following rules MUST be
1115 conformed to by the CIM Server:
1116
1117 Any CLASSORIGIN and PROPAGATED attributes in the NewInstance MUST be ignored
1118 by the Server.
1119
1120 The Server MUST ensure that:
1121
1122 <UL>
1123 <LI>Any Qualifiers in the Instance not defined in the Class are created
1124 as new elements of the Instance.
1125 <LI>All Properties of the Instance preserve their CLASSORIGIN attribute
1126 value from that defined in the Class.
1127 <LI>If a CIMProperty is specified in the ModifiedInstance parameter, the
1128 value assigned to that property in the Instance (including NULL) becomes
1129 the value of the property for the Instance. Note that it is a Client
1130 error to specify a CIMProperty that does not belong to the Class.
1131 <LI>If a CIMProperty of the Class is not specified in the Instance, then
1132 a.arora 1.3 that CIMProperty is inherited without modification by the Instance.
1133 <LI>Any Qualifiers defined in the Class with a TOINSTANCE attribute
1134 value of true appear in the Instance. Qualifiers in the
1135 Class with a TOINSTANCE attribute value of false MUST NOT be propagated
1136 to the Instance.
1137 <LI>Any CIMQualifier propagated from the Class cannot be modified in the
1138 Instance if the OVERRIDABLE attribute of that CIMQualifier was set to
1139 false
1140 in the Class. It is a Client error to specify such a CIMQualifier in the
1141 NewInstance with a different definition to that in the Class (where
1142 definition encompasses the name, type and flavor attribute settings of
1143 the <QUALIFIER> element, and the value of the CIMQualifier).
1144 </UL>
1145
1146 @param newInstance The <TT>newInstance</TT> input parameter defines the new
1147 Instance. The proposed definition MUST be a correct Instance definition for
1148 the underlying CIM Class according to the CIM specification.
|
1149 david.dillard 1.7 It consists of a full specified object path, thus it consists also of target namespace,
1150 hostname and port
|
1151 a.arora 1.3
1152 @return If successful, the return value defines the object path of the new
1153 CIM Instance relative to the target Namespace (i.e. the Model Path as
1154 defined by the CIM specification), created by the CIM Server. It is
1155 returned in case one or more of the new keys of the Instance are allocated
1156 dynamically during the creation process rather than specified in the
1157 request.
1158
1159 If unsuccessful, one of the following status codes MUST be returned by this
1160 method, where the first applicable error in the list (starting with the
1161 first element of the list, and working down) is the error returned. Any
1162 additional method-specific interpretation of the error in is given in
1163 parentheses.
1164
1165 <UL>
1166 <LI>CIM_ERR_ACCESS_DENIED
1167 <LI>CIM_ERR_NOT_SUPPORTED
1168 <LI>CIM_ERR_INVALID_NAMESPACE
1169 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
|
1170 david.dillard 1.7 unrecognized or otherwise incorrect parameters)
|
1171 a.arora 1.3 <LI>CIM_ERR_INVALID_CLASS (the CIM Class of which this is to be a new
|
1172 david.dillard 1.7 Instance does not exist)
|
1173 a.arora 1.3 <LI>CIM_ERR_ALREADY_EXISTS (the CIM Instance already exists)
1174 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
1175 </UL>
1176 */
1177 CIMObjectPath createInstance(
|
1178 david.dillard 1.7 const CIMInstance& newInstance
|
1179 a.arora 1.3 );
1180
|
1181 david.dillard 1.7 /** Gets the CIM instance for the specified CIM object path.
|
1182 david.dillard 1.6
|
1183 david.dillard 1.7 @param instanceName CIMobjectpath that identifies this CIM instance.
1184 This must include all of the keys.
1185 It is a full specified object path, thus it consists also of target namespace,
1186 hostname and port
1187
1188 @param localOnly If true, only properties and qualifiers overridden
1189 or defined in the returned Instance are included in the response.
1190 If false, all elements of the returned Instance are returned.
1191
1192 @param includeQualifiers If true, all Qualifiers for each Object
1193 (including Qualifiers on the Object and on any returned Properties)
1194 MUST be included. If false no Qualifiers are present in the returned Object.
1195
1196 @param includeClassOrigin If true, CLASSORIGIN attribute MUST be
1197 present on all appropriate elements in each returned Object. If false,
1198 no CLASSORIGIN attributes are present in each returned Object. The CLASSORIGIN
1199 attribute is defined in the DMTF's Specification for the Representation of CIM
1200 in XML. CLASSORIGIN is an XML tag identifying the following text as a class name.
1201 It is attached to a property or method (when specified in XML), to indicate the
1202 class where that property or method is first defined. Where the same property
1203 name is locally defined in another superclass or subclass, the Server will
1204 david.dillard 1.7 return the value for the property in the lowest subclass.
1205
1206 @param propertyList If the PropertyList input parameter is not NULL, the
1207 members of the array define one or more Property names. Each returned Object
1208 MUST NOT include elements for any Properties missing from this list.
1209 Note that if LocalOnly is specified as true this acts as an additional
1210 filter on the set of Properties returned (for example, if Property A is
1211 included in the PropertyList but LocalOnly is set to true and A is not local
1212 to a returned Instance, then it will not be included in that Instance).
1213 If the PropertyList input parameter is an empty array this signifies that
1214 no Properties are included in each returned Object. If the PropertyList
1215 input parameter is NULL this specifies that all Properties (subject to
1216 the conditions expressed by the other parameters) are included in each
1217 returned Object. If the PropertyList contains duplicate elements, the
1218 Server ignores the duplicates but otherwise process the request normally.
1219 If the PropertyList contains elements which are invalid Property names for
1220 any target Object, the Server ignores such entries but otherwise process
1221 the request normally.
1222
1223 @return If successful, the CIM instance identified by the CIMObjectPath. If
1224 unsuccessful, an exception is executed.
1225 david.dillard 1.7 REVIEWERS: COmplete this.
1226 */
|
1227 david.dillard 1.6
|
1228 a.arora 1.3 CIMInstance getInstance(
|
1229 david.dillard 1.7 const CIMObjectPath& instanceName,
1230 Boolean localOnly = true,
1231 Boolean includeQualifiers = false,
1232 Boolean includeClassOrigin = false,
1233 const CIMPropertyList& propertyList = CIMPropertyList()
|
1234 a.arora 1.3 );
1235
|
1236 david.dillard 1.7 /** The <TT>modifyInstance</TT> method modifies an existing CIM
|
1237 a.arora 1.3 Instance in the target Namespace.
1238
1239 @param modifiedInstance The <TT>modifiedInstance</TT> input parameter
1240 identifies the name of the Instance to be modified, and defines the set of
1241 changes (which MUST be correct amendments to the Instance as
1242 defined by the CIM Specification) to be made to the current Instance
1243 definition.
|
1244 david.dillard 1.7 It consists of a full specified object path, thus it consists also of target namespace,
1245 hostname and port
|
1246 a.arora 1.3
1247 In processing the modifcation of the Instance, the following rules MUST
1248 be conformed to by the CIM Server:
1249
1250 <UL>
1251 <LI>Any <TT>CLASSORIGIN</TT> and <TT>PROPAGATED</TT> attributes in the
1252 <TT>ModifiedInstance</TT> MUST be ignored by the Server.
1253 <LI>The Class MUST exist, and the Client MUST NOT change
1254 the name of the Class in the modified Instance. The Server MUST ensure
1255 that:
1256 <UL>
1257 <LI>Any Qualifiers in the Instance not defined in
1258 the Class are created as new elements of the Instance.
1259 <LI>All Properties of the Instance preserve their
1260 <TT>CLASSORIGIN</TT> attribute value from that defined in the Class.
1261 <LI>Any CIMQualifier previously defined in the Instance but not
1262 defined in the Class, and which is not present in the
1263 <TT>ModifiedInstance</TT> parameter, is removed from the Instance.
1264
1265 <LI>If a CIMProperty is specified in the <TT>ModifiedInstance</TT>
1266 parameter, the value assigned to that property therein
1267 a.arora 1.3 (including NULL) becomes the value of the property for the Instance.
1268 Note that it is a Client error to specify a CIMProperty that does not
1269 belong to the Class.
1270
1271 <LI>If a CIMProperty of the Class is not specified in the Instance,
1272 then that CIMProperty is inherited without modification by the Instance
1273 (so that any previous changes to that CIMProperty in the Instance are
1274 lost).
1275 <LI>Any Qualifiers defined in the Class with a <TT>TOINSTANCE</TT>
1276 attribute value of <TT>true</TT> appear in the Instance (it is not
1277 possible remove a propagated CIMQualifier from an Instance. Qualifiers
1278 in the Class with a <TT>TOINSTANCE</TT> attribute value of <TT>false</TT>
1279 MUST NOT be propagated to the Instance.
1280 <LI>Any CIMQualifier propagated from the Class cannot be modified by the
1281 Server if the <TT>OVERRIDABLE</TT> attribute of that CIMQualifier was
1282 set to <TT>false</TT> in the Class. It is a Client error to specify such
|
1283 david.dillard 1.7 a CIMQualifier in the <TT>ModifiedInstance</TT> with a different
|
1284 a.arora 1.3 definition to that in the Class (where definition encompasses the name,
1285 type and flavor attribute settings of the
1286 <TT><QUALIFIER></TT> element, and the value of the CIMQualifier).
1287 <LI>Any CIMQualifier propagated from the Class cannot be modified in
1288 the Instance if the <TT>OVERRIDABLE</TT> attribute of that CIMQualifier
1289 was
1290 set to <TT>false</TT> in the Class. It is a Client error to specify such
1291 a CIMQualifier in the <TT>ModifiedInstance</TT> with a different
1292 definition
1293 to that in the Class (where definition encompasses the name, type and
1294 flavor attribute settings of the <TT><QUALIFIER></TT>
1295 element, and the value of the CIMQualifier).</LI>
1296 </UL>
1297 </LI></UL>
1298
1299 @return If successful, the specified Instance MUST have been updated by the
1300 CIM Server.
1301
1302 If unsuccessful, one of the following status codes MUST be returned by
1303 this method, where the first applicable error in the list (starting with the
1304 first element of the list, and working down) is the error returned. Any
1305 a.arora 1.3 additional method-specific interpretation of the error in is given in
1306 parentheses
1307
1308 <UL>
1309 <LI>CIM_ERR_ACCESS_DENIED
1310 <LI>CIM_ERR_NOT_SUPPORTED
1311 <LI>CIM_ERR_INVALID_NAMESPACE
1312 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
1313 duplicate, unrecognized or otherwise incorrect parameters)
1314 <LI>CIM_ERR_INVALID_CLASS (the CIM Class of which this is
1315 to be a new Instance does not exist)
1316 <LI>CIM_ERR_NOT_FOUND (the CIM Instance does not exist)
1317 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI></UL>
1318 */
1319 void modifyInstance(
|
1320 david.dillard 1.7 const CIMInstance& modifiedInstance,
1321 Boolean includeQualifiers = true,
1322 const CIMPropertyList& propertyList = CIMPropertyList()
|
1323 a.arora 1.3 );
1324
1325
1326 /** Execute an extrinsic CIM method.
1327 Any CIM Server is assumed to support extrinsic methods. Extrinsic methods
1328 are defined by the Schema supported by the Cim Server. If a CIM Server does
1329 not support extrinsic method invocations, it MUST (subject to the
1330 considerations described in the rest of this section) return the error code
1331 CIM_ERR_NOT_SUPPORTED to any request to execute an extrinsic method. This
1332 allows a CIM client to determine that all attempts to execute extrinsic
1333 methods will fail.
1334
1335 @param instanceName The <TT>instanceName</TT> parameter is a CIMReference
1336 that defines the CIM instance for which the method is defined
|
1337 david.dillard 1.7 It consists of a full specified object path, thus it consists also of target namespace,
1338 hostname and port
|
1339 a.arora 1.3
1340 @param methodName The <TT>methodName</TT> parameter is a String with the
1341 name of the method to be executed.
1342
1343 @param inParameters This parameter defines an array of input parameters for
1344 the method execution
1345
1346 @param outParameters This parameter defines an array of parameters returned
1347 by the executed method
1348
1349 @return If the Cim Server is unable to perform the extrinsic method
1350 invocation, one of the following status codes MUST be returned by the
1351 CimServer, where the first applicable error in the list (starting with the
1352 first element of the list, and working down) is the error returned. Any
1353 additional specific interpretation of the error is given in parentheses.
1354
1355 ATTN: We have not defined the CIMValue returned
1356 <UL>
1357
1358 <LI>CIM_ERR_ACCESS_DENIED
1359 <LI>CIM_ERR_NOT_SUPPORTED (the CimServer does not support extrinsic
1360 a.arora 1.3 method invocations)
1361 <LI>CIM_ERR_INVALID_NAMESPACE
1362 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
1363 unrecognized or otherwise incorrect parameters)
1364 <LI>CIM_ERR_NOT_FOUND (the target CIM Class or instance does not exist
1365 in the specified namespace)
1366 <LI>CIM_ERR_METHOD_NOT_FOUND
1367 <LI>CIM_ERR_METHOD_NOT_AVAILABLE (the CimServer is unable to honor the
1368 invocation request)
1369 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
1370 </UL>
1371
1372 */
1373 CIMValue invokeMethod(
|
1374 david.dillard 1.7 const CIMObjectPath& instanceName,
1375 const CIMName& methodName,
1376 const Array<CIMParamValue>& inParameters,
1377 Array<CIMParamValue>& outParameters
|
1378 a.arora 1.3 );
1379
1380 /** The <TT>associatorNames</TT> operation enumerates the names of
1381 CIM Objects (Classes or Instances) that are associated to a particular
1382 source CIM Object.
1383
1384 @param objectName The <TT>objectName</TT> input parameter defines the source
1385 CIM Object whose associated names are to be returned. This is either a Class
1386 name or Instance name (model path).
|
1387 david.dillard 1.7 It is a full specified object path, thus it consists also of target namespace,
1388 hostname and port
|
1389 a.arora 1.3
1390 @param assocClass The <TT>assocClass</TT> input parameter, if not NULL,
1391 MUST be a valid CIM Association Class name. It acts as a filter on the
1392 returned set of names by mandating that each returned name identifies an
1393 Object that MUST be associated to the source Object via an Instance of this
1394 Class or one of its subclasses.
1395
1396 @param resultClass The <TT>resultClass</TT> input parameter, if not NULL,
1397 MUST be a valid CIM Class name. It acts as a filter on the returned set of
1398 names by mandating that each returned name identifies an Object that MUST be
1399 either an Instance of this Class (or one of its subclasses) or be this Class
1400 (or one of its subclasses).
1401
1402 @param role The <TT>role</TT> input parameter, if not NULL, MUST be a valid
1403 CIMProperty name. It acts as a filter on the returned set of names by
1404 mandating that each returned name identifies an Object that MUST be
1405 associated to the source Object via an Association in which the source
1406 Object plays the specified role (i.e. the name of the CIMProperty in the
1407 Association Class that refers to the source Object MUST match the value of
1408 this parameter).
1409
1410 a.arora 1.3 @param resultRole The <TT>resultRole</TT> input parameter, if not
1411 <TT>NULL</TT>, MUST be a valid CIMProperty name. It acts as a filter on the
1412 returned set of names by mandating that each returned name identifies an
1413 Object that MUST be associated to the source Object via an Association in
1414 which the named returned Object plays the specified role (i.e. the name of
1415 the CIMProperty in the Association Class that refers to the returned Object
1416 MUST match the value of this parameter).
1417
1418 @return If successful, the method returns zero or more full CIM Class paths
1419 or Instance paths of Objects meeting the requested criteria. Since it is
1420 possible for CIM Objects from different hosts or namespaces to be
1421 associated, each returned path is an absolute path that includes host and
1422 namespace information.
1423
1424 If unsuccessful, one of the following status codes MUST be returned by this
1425 method, where the first applicable error in the list (starting with the
1426 first element of the list, and working down) is the error returned. Any
1427 additional method-specific interpretation of the error in is given in
1428 parentheses.
1429
1430 <UL>
1431 a.arora 1.3 <LI>CIM_ERR_ACCESS_DENIED
1432 <LI>CIM_ERR_NOT_SUPPORTED
1433 <LI>CIM_ERR_INVALID_NAMESPACE;
1434 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
1435 duplicate, unrecognized or otherwise incorrect parameters)
1436 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
1437 </UL>
1438 */
1439 Array<CIMObjectPath> associatorNames(
|
1440 david.dillard 1.7 const CIMObjectPath& objectName,
1441 const CIMName& assocClass = CIMName(),
1442 const CIMName& resultClass = CIMName(),
1443 const String& role = String::EMPTY,
1444 const String& resultRole = String::EMPTY
|
1445 a.arora 1.3 );
1446
1447 /** The <TT>Associators</TT> method enumerates CIM Objects
1448 (Classes or Instances) that are associated to a particular source CIM
1449 Object.
1450
1451 @param objectName The <TT>objectName</TT> input parameter defines the source
1452 CIM Object whose associated Objects are to be returned. This may be either
1453 a Class name or Instance name (model path).
|
1454 david.dillard 1.7 It is a full specified object path, thus it consists also of target namespace,
1455 hostname and port
|
1456 a.arora 1.3
1457 @param assocClass The <TT>assocClass</TT> input parameter, if not NULL, MUST
1458 be a valid CIM Association Class name. It acts as a filter on the returned
1459 set of Objects by mandating that each returned Object MUST be associated to
1460 the source Object via an Instance of this Class or one of its subclasses.
1461
1462 @param resultClass The <TT>resultClass</TT> input parameter, if not NULL,
1463 MUST be a valid CIM Class name. It acts as a filter on the returned set of
1464 Objects by mandating that each returned Object MUST be either an Instance of
1465 this Class (or one of its subclasses) or be this Class (or one of its
1466 subclasses).
1467
1468 @param role The <TT>role</TT> input parameter, if not NULL, MUST be a valid
1469 CIMProperty name. It acts as a filter on the returned set of Objects by
1470 mandating that each returned Object MUST be associated to the source Object
1471 via an Association in which the source Object plays the specified role (i.e.
1472 the name of the CIMProperty in the Association Class that refers to the
1473 source object MUST match the value of this parameter).
1474
1475 @param resultRole The <TT>resultRole</TT> input parameter, if not NULL, MUST
1476 be a valid CIMProperty name. It acts as a filter on the returned set of
1477 a.arora 1.3 Objects by mandating that each returned Object MUST be associated to the
1478 source Object via an Association in which the returned Object plays the
1479 specified role (i.e. the name of the CIMProperty in the Association Class
1480 that refers to the returned Object MUST match the value of this parameter).
1481
1482 @param includeQualifiers If the <TT>includeQualifiers</TT> input parameter
1483 is true, this specifies that all Qualifiers for each Object (including
1484 Qualifiers on the Object and on any returned Properties) MUST be included as
1485 <QUALIFIER> elements in the response. If false no <QUALIFIER> elements are
1486 present in each returned Object.
1487
1488 @param includeClassOrigin If the <TT>includeClassOrigin</TT> input parameter
1489 is true, this specifies that the CLASSORIGIN attribute MUST be present on
1490 all appropriate elements in each returned Object. If false, no CLASSORIGIN
1491 attributes are present in each returned Object.
1492
1493 @param propertyList If the <TT>propertyList</TT> input parameter is not
1494 NULL, the members of the array define one or more CIMProperty names. Each
1495 returned Object MUST NOT include elements for any Properties missing from
1496 this list. Note that if LocalOnly is specified as true (or DeepInheritance
1497 is specified as false) this acts as an additional filter on the set of
1498 a.arora 1.3 Properties returned (for example, if CIMProperty A is included in the
1499 PropertyList but LocalOnly is set to true and A is not local to a returned
1500 Instance, then it will not be included in that Instance). If the
1501 PropertyList input parameter is an empty array this signifies that no
1502 Properties are included in each returned Object. If the PropertyList input
1503 parameter is NULL this specifies that all Properties (subject to the
1504 conditions expressed by the other parameters) are included in each returned
1505 Object.
1506
1507 If the propertyList contains duplicate elements, the Server MUST ignore the
1508 duplicates but otherwise process the request normally. If the PropertyList
1509 contains elements which are invalid CIMProperty names for any target Object,
1510 the Server MUST ignore such entries but otherwise process the request
1511 normally.
1512
1513 Clients SHOULD NOT explicitly specify properties in the PropertyList
1514 parameter unless they have specified a non-NULL value for the ResultClass
1515 parameter.
1516
1517 @return If successful, the method returns zero or more CIM Classes or
1518 Instances meeting the requested criteria. Since it is possible for CIM
1519 a.arora 1.3 Objects from different hosts or namespaces to be associated, each returned
1520 Object includes location information.
1521
1522 If unsuccessful, one of the following status codes MUST be returned by this
1523 method, where the first applicable error in the list (starting with the
1524 first element of the list, and working down) is the error returned. Any
1525 additional method-specific interpretation of the error in is given in
1526 parentheses.
1527
1528 <UL>
1529 <LI>CIM_ERR_ACCESS_DENIED
1530 <LI>CIM_ERR_NOT_SUPPORTED
1531 <LI>CIM_ERR_INVALID_NAMESPACE
1532 <LI>CIM_ERR_INVALID_PARAMETER (including
1533 missing,duplicate, unrecognized or
1534 otherwise incorrect parameters)
1535 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
1536 </UL>
1537 */
1538 Array<CIMObject> associators(
|
1539 david.dillard 1.7 const CIMObjectPath& objectName,
1540 const CIMName& assocClass = CIMName(),
1541 const CIMName& resultClass = CIMName(),
1542 const String& role = String::EMPTY,
1543 const String& resultRole = String::EMPTY,
1544 Boolean includeQualifiers = false,
1545 Boolean includeClassOrigin = false,
1546 const CIMPropertyList& propertyList = CIMPropertyList()
|
1547 a.arora 1.3 );
1548 /** The <TT>references</TT> operation enumerates the association
1549 objects that refer to a particular target CIM Object (Class or Instance).
1550
1551 @param The NameSpace parameter is a string that defines the target
1552 namespace \Ref{NAMESPACE}
1553
1554 @param objectName The <TT>objectName</TT> input parameter defines the target
1555 CIM Object whose referring Objects are to be returned. This is either a
1556 Class name or Instance name (model path).
|
1557 david.dillard 1.7 It is a full specified object path, thus it consists also of target namespace,
1558 hostname and port
|
1559 a.arora 1.3
1560 @param resultClass The <TT>resultClass</TT> input parameter, if not NULL,
1561 MUST be a valid CIM Class name. It acts as a filter on the returned set of
1562 Objects by mandating that each returned Object MUST be an Instance of this
1563 Class (or one of its subclasses), or this Class (or one of its subclasses).
1564
1565 @param role The <TT>role</TT> input parameter, if not NULL, MUST be a valid
1566 CIMProperty name. It acts as a filter on the returned set of Objects by
1567 mandating that each returned Objects MUST refer to the target Object via a
1568 CIMProperty whose name matches the value of this parameter.
1569
1570 @param includeQualifiers. If the <TT>includeQualifiers</TT> input parameter
1571 is true, this specifies that all Qualifiers for each Object (including
1572 Qualifiers on the Object and on any returned Properties) MUST be included as
1573 <QUALIFIER> elements in the response. If false no <QUALIFIER> elements are
1574 present in each returned Object.
1575
1576 @param includeClassOrigin If the <TT>includeClassOrigin</TT> input parameter
1577 is true, this specifies that the CLASSORIGIN attribute MUST be present on
1578 all appropriate elements in each returned Object. If false, no CLASSORIGIN
1579 attributes are present in each returned Object.
1580 a.arora 1.3
1581 @param propertyList If the <TT>propertyList</TT> input parameter is not
1582 NULL, the members of the array define one or more CIMProperty names. Each
1583 returned Object MUST NOT include elements for any Properties missing from
1584 this list. Note that if LocalOnly is specified as true (or DeepInheritance
1585 is specified as false) this acts as an additional filter on the set of
1586 Properties returned (for example, if CIMProperty A is included in the
1587 PropertyList but LocalOnly is set to true and A is not local to a returned
1588 Instance, then it will not be included in that Instance). If the
1589 PropertyList input parameter is an empty array this signifies that no
1590 Properties are included in each returned Object. If the PropertyList input
1591 parameter is NULL this specifies that all Properties (subject to the
1592 conditions expressed by the other parameters) are included in each returned
1593 Object.
1594
1595 If the PropertyList contains duplicate elements, the Server MUST ignore the
1596 duplicates but otherwise process the request normally. If the PropertyList
1597 contains elements which are invalid CIMProperty names for any target Object,
1598 the Server MUST ignore such entries but otherwise process the request
1599 normally.
1600
1601 a.arora 1.3 Clients SHOULD NOT explicitly specify properties in the PropertyList
1602 parameter unless they have specified a non-NULL value for the ResultClass
1603 parameter.
1604
1605 @return If successful, the method returns zero or more CIM Classes or
1606 Instances meeting the requested criteria. Since it is possible for CIM
1607 Objects from different hosts or namespaces to be associated, each returned
1608 Object includes location information.
1609
1610 If unsuccessful, one of the following status codes MUST be returned by this
1611 method, where the first applicable error in the list (starting with the
1612 first element of the list, and working down) is the error returned. Any
1613 additional method-specific interpretation of the error in is given in
1614 parentheses.
1615
1616 <UL>
1617 <LI>CIM_ERR_ACCESS_DENIED
1618 <LI>CIM_ERR_NOT_SUPPORTED
1619 <LI>CIM_ERR_INVALID_NAMESPACE
1620 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
|
1621 david.dillard 1.7 duplicate, unrecognized or otherwise incorrect parameters)
|
1622 a.arora 1.3 <LI>CIM_ERR_FAILED (some other unspecified error occurred)</LI>
1623 </UL>
1624 */
1625 Array<CIMObject> references(
|
1626 david.dillard 1.7 const CIMObjectPath& objectName,
1627 const CIMName& resultClass = CIMName(),
1628 const String& role = String::EMPTY,
1629 Boolean includeQualifiers = false,
1630 Boolean includeClassOrigin = false,
1631 const CIMPropertyList& propertyList = CIMPropertyList()
|
1632 a.arora 1.3 );
1633
1634 /** The <TT>referenceNames</TT> operation enumerates the association
1635 objects that refer to a particular target CIM Object (Class or Instance).
1636
1637 @param objectName The <TT>objectName</TT> input parameter defines the target
1638 CIM Object whose referring object names are to be returned. It may be either
1639 a Class name or an Instance name (model path).
|
1640 david.dillard 1.7 It consists of a full specified object path, thus it consists also of target namespace,
1641 hostname and port
|
1642 a.arora 1.3
1643 @param resultClass The <TT>resultClass</TT> input parameter, if not NULL,
1644 MUST be a valid CIM Class name. It acts as a filter on the returned set of
1645 Object Names by mandating that each returned Object CIMName MUST identify an
1646 Instance of this Class (or one of its subclasses), or this Class (or one of
1647 its subclasses).
1648
1649 @param role The <TT>role</TT> input parameter, if not NULL, MUST be a valid
1650 CIMProperty name. It acts as a filter on the returned set of Object Names by
1651 mandating that each returned Object CIMName MUST identify an Object that
1652 refers to the target Instance via a CIMProperty whose name matches the value
1653 of this parameter.
1654
1655 @return If successful,the method returns the names of zero or more full CIM
1656 Class paths or Instance paths of Objects meeting the requested criteria.
1657 Since it is possible for CIM Objects from different hosts or namespaces to
1658 be associated, each returned path is an absolute path that includes host and
1659 namespace information.
1660
1661 If unsuccessful, one of the following status codes MUST be returned by this
1662 method, where the first applicable error in the list (starting with the
1663 a.arora 1.3 first element of the list, and working down) is the error returned. Any
1664 additional method-specific interpretation of the error in is given in
1665 parentheses.
1666 <UL>
|
1667 david.dillard 1.7 <LI>CIM_ERR_ACCESS_DENIED
1668 <LI>CIM_ERR_NOT_SUPPORTED
1669 <LI>CIM_ERR_INVALID_NAMESPACE
1670 <LI>CIM_ERR_INVALID_PARAMETER (including missing, duplicate,
1671 unrecognized or otherwise incorrect parameters)
1672 <LI>CIM_ERR_FAILED (some other unspecified error occurred)
|
1673 a.arora 1.3 </UL>
1674 */
1675 Array<CIMObjectPath> referenceNames(
|
1676 david.dillard 1.7 const CIMObjectPath& objectName,
1677 const CIMName& resultClass = CIMName(),
1678 const String& role = String::EMPTY
|
1679 a.arora 1.3 );
1680
1681 /** The <TT>execQuery</TT> is used to execute a query against the target
1682 Namespace.
|
1683 david.dillard 1.6
|
1684 david.dillard 1.7 @param host - input parameter, string containing hostname of CIMOM
|
1685 david.dillard 1.6
|
1686 david.dillard 1.7 @param port - input parameter, string containing port of CIMOM
|
1687 a.arora 1.3
1688 @param nameSpace The nameSpace parameter is a string that defines the target
1689 namespace. See defintion of
1690 \URL[Namespace]{DefinitionofTerms.html#NAMESPACE}.
1691
1692 @param queryLanguage The <TT>queryLanguage</TT> String input parameter
1693 defines the query language in which the Query parameter is expressed.
1694
1695 @param query The <TT>query</TT> input parameter defines the query to be
1696 executed.
1697
1698 @return If successful, the method returns zero or more CIM Classes or
1699 Instances that correspond to the results set of the query.
1700
1701 If unsuccessful, one of the following status codes MUST be returned by this
1702 method, where the first applicable error in the list (starting with the
1703 first element of the list, and working down) is the error returned. Any
1704 additional method-specific interpretation of the error in is given in
1705 parentheses.
1706
1707 <UL>
1708 a.arora 1.3 <LI>CIM_ERR_ACCESS_DENIED
1709 <LI>CIM_ERR_NOT_SUPPORTED
1710 <LI>CIM_ERR_INVALID_NAMESPACE
1711 <LI>CIM_ERR_INVALID_PARAMETER (including missing,
1712 duplicate, unrecognized or otherwise incorrect parameters)
1713 <LI>CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED (the requested query language is
1714 not recognized)
1715 <LI>CIM_ERR_INVALID_QUERY (the query is not a valid query in the
1716 specified query language)
1717 <LI>CIM_ERR_FAILED (some other unspecified error ccurred)</LI>
1718 </UL>
1719 */
1720 Array<CIMObject> execQuery(
|
1721 david.dillard 1.7 const String& host,
1722 const String& port,
1723 const CIMNamespaceName& nameSpace,
1724 const String& queryLanguage,
1725 const String& query
|
1726 a.arora 1.3 );
1727
1728
1729 private:
|
1730 david.dillard 1.6 // @exception TypeMismatchException
|
1731 david.dillard 1.7 void hasHostandNameSpace(const String& _host, const CIMNamespaceName& nameSpace);
|
1732 david.dillard 1.6
1733 // @exception TypeMismatchException
1734 void hasHostandNameSpace(const CIMObjectPath& inObjectPath);
1735
1736 // @exception TypeMismatchException
|
1737 david.dillard 1.7 void hasHostandNameSpace(const CIMInstance& inInstance);
|
1738 a.arora 1.3
|
1739 david.dillard 1.7 CIMClientRep* getTargetCIMOM(const String& _host,const String& _port, const CIMNamespaceName& _nameSpace) const;
1740 CIMClientRep* getTargetCIMOM(const CIMObjectPath& inObjectPath) const;
|
1741 a.arora 1.3
|
1742 david.dillard 1.7 void setPegasusDefaultPort(void);
1743 void checkCompleteObjectPath(const CIMObjectPath& inObjectPath);
1744 String _getHostwithPort(const String& host, const String& port);
|
1745 a.arora 1.3
|
1746 david.dillard 1.7 CIMClientConnectionManager * _cccm;
1747 String _pegasusDefaultPort;
|
1748 a.arora 1.3
1749 };
1750
1751 PEGASUS_NAMESPACE_END
1752
1753 #endif // Pegasus_CIMManagedClient_h
|