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