CIMQualifierDecl.h
1 //%LICENSE////////////////////////////////////////////////////////////////
2 //
3 // 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 //
10 // 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 //
17 // The above copyright notice and this permission notice shall be included
18 // in all copies or substantial portions of the Software.
19 //
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // 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 //
29 //
30 //%/////////////////////////////////////////////////////////////////////////////
31 
32 #ifndef Pegasus_QualifierDecl_h
33 #define Pegasus_QualifierDecl_h
34 
35 #include <Pegasus/Common/Config.h>
36 #include <Pegasus/Common/Linkage.h>
37 #include <Pegasus/Common/CIMName.h>
38 #include <Pegasus/Common/Array.h>
39 #include <Pegasus/Common/CIMQualifierDecl.h>
40 #include <Pegasus/Common/CIMFlavor.h>
41 #include <Pegasus/Common/CIMScope.h>
42 #include <Pegasus/Common/CIMType.h>
43 #include <Pegasus/Common/CIMValue.h>
44 
45 PEGASUS_NAMESPACE_BEGIN
46 
48 //
49 // CIMQualifierDecl
50 //
52 
54 class CIMClassRep;
55 class CIMQualifierDeclRep;
56 
72 class PEGASUS_COMMON_LINKAGE CIMQualifierDecl
73 {
74 public:
75 
84 
93 
108  const CIMName& name,
109  const CIMValue& value,
110  const CIMScope & scope,
111  const CIMFlavor & flavor = CIMFlavor (CIMFlavor::DEFAULTS),
112  Uint32 arraySize = 0);
113 
117  ~CIMQualifierDecl();
118 
126  CIMQualifierDecl& operator=(const CIMQualifierDecl& x);
127 
134  const CIMName& getName() const;
135 
142  void setName(const CIMName& name);
143 
150  CIMType getType() const;
151 
158  Boolean isArray() const;
159 
166  const CIMValue& getValue() const;
167 
175  void setValue(const CIMValue& value);
176 
183  const CIMScope & getScope() const;
184 
191  const CIMFlavor & getFlavor() const;
192 
199  Uint32 getArraySize() const;
200 
205  Boolean isUninitialized() const;
206 
215  Boolean identical(const CIMConstQualifierDecl& x) const;
216 
224  CIMQualifierDecl clone() const;
225 
226 private:
227 
228  CIMQualifierDecl(CIMQualifierDeclRep* rep);
229 
230  CIMQualifierDeclRep* _rep;
231 
232  friend class CIMConstQualifierDecl;
233  friend class CIMClassRep;
234  friend class XmlWriter;
235  friend class MofWriter;
236 };
237 
239 //
240 // CIMConstQualifierDecl
241 //
243 
252 class PEGASUS_COMMON_LINKAGE CIMConstQualifierDecl
253 {
254 public:
255 
264 
273 
282 
298  const CIMName& name,
299  const CIMValue& value,
300  const CIMScope & scope,
301  const CIMFlavor & flavor = CIMFlavor (CIMFlavor::DEFAULTS),
302  Uint32 arraySize = 0);
303 
308 
316  CIMConstQualifierDecl& operator=(const CIMConstQualifierDecl& x);
317 
325  CIMConstQualifierDecl& operator=(const CIMQualifierDecl& x);
326 
333  const CIMName& getName() const;
334 
341  CIMType getType() const;
342 
349  Boolean isArray() const;
350 
357  const CIMValue& getValue() const;
358 
365  const CIMScope & getScope() const;
366 
373  const CIMFlavor & getFlavor() const;
374 
381  Uint32 getArraySize() const;
382 
387  Boolean isUninitialized() const;
388 
397  Boolean identical(const CIMConstQualifierDecl& x) const;
398 
407  CIMQualifierDecl clone() const;
408 
409 private:
410 
411  CIMQualifierDeclRep* _rep;
412 
413  friend class CIMQualifierDecl;
414  friend class XmlWriter;
415  friend class MofWriter;
416 };
417 
418 #define PEGASUS_ARRAY_T CIMQualifierDecl
419 # include <Pegasus/Common/ArrayInter.h>
420 #undef PEGASUS_ARRAY_T
421 
422 PEGASUS_NAMESPACE_END
423 
424 #endif /* Pegasus_QualifierDecl_h */
Definition: CIMScope.h:48
Definition: CIMValue.h:63
Definition: CIMName.h:64
Definition: CIMQualifierDecl.h:252
Definition: CIMFlavor.h:53
static const CIMFlavor DEFAULTS
Definition: CIMFlavor.h:171
Definition: CIMQualifierDecl.h:72