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