1 mike 1.11 //%/////////////////////////////////////////////////////////////////////////////
2 //
|
3 kumpf 1.19 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
4 // The Open Group, Tivoli Systems
|
5 mike 1.11 //
6 // Permission is hereby granted, free of charge, to any person obtaining a copy
|
7 kumpf 1.19 // of this software and associated documentation files (the "Software"), to
8 // deal in the Software without restriction, including without limitation the
9 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
10 mike 1.11 // sell copies of the Software, and to permit persons to whom the Software is
11 // furnished to do so, subject to the following conditions:
12 //
|
13 kumpf 1.19 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
|
14 mike 1.11 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
16 kumpf 1.19 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
19 mike 1.11 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 //==============================================================================
23 //
24 // Author: Mike Brasher (mbrasher@bmc.com)
25 //
|
26 kumpf 1.22 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
27 // (carolann_graves@hp.com)
|
28 mike 1.11 //
29 //%/////////////////////////////////////////////////////////////////////////////
30
31 #ifndef Pegasus_QualifierDeclRep_h
32 #define Pegasus_QualifierDeclRep_h
33
34 #include <Pegasus/Common/Config.h>
|
35 kumpf 1.21 #include <Pegasus/Common/Linkage.h>
36 #include <Pegasus/Common/CIMName.h>
|
37 mike 1.11 #include <Pegasus/Common/CIMValue.h>
38 #include <Pegasus/Common/Sharable.h>
39 #include <Pegasus/Common/Array.h>
|
40 kumpf 1.24 #include <Pegasus/Common/InternalException.h>
|
41 mike 1.11 #include <Pegasus/Common/CIMFlavor.h>
42 #include <Pegasus/Common/CIMScope.h>
43
44 PEGASUS_NAMESPACE_BEGIN
45
46 class CIMConstQualifierDecl;
47 class CIMQualifierDecl;
48
49 class PEGASUS_COMMON_LINKAGE CIMQualifierDeclRep : public Sharable
50 {
51 public:
52
53 CIMQualifierDeclRep(
|
54 kumpf 1.21 const CIMName& name,
|
55 mike 1.11 const CIMValue& value,
|
56 kumpf 1.23 const CIMScope & scope,
57 const CIMFlavor & flavor,
|
58 mike 1.11 Uint32 arraySize);
59
60 virtual ~CIMQualifierDeclRep();
61
|
62 kumpf 1.21 const CIMName& getName() const
|
63 mike 1.11 {
64 return _name;
65 }
66
|
67 kumpf 1.21 void setName(const CIMName& name);
|
68 mike 1.11
69 CIMType getType() const
70 {
71 return _value.getType();
72 }
73
74 Boolean isArray() const
75 {
76 return _value.isArray();
77 }
78
79 const CIMValue& getValue() const
80 {
81 return _value;
82 }
83
84 void setValue(const CIMValue& value);
85
|
86 kumpf 1.22 const CIMScope & getScope () const
|
87 mike 1.11 {
88 return _scope;
89 }
90
|
91 kumpf 1.23 const CIMFlavor & getFlavor() const
|
92 mike 1.11 {
93 return _flavor;
94 }
95
96 Uint32 getArraySize() const
97 {
98 return _arraySize;
99 }
100
101 void toXml(Array<Sint8>& out) const;
102
|
103 mike 1.12 void toMof(Array<Sint8>& out) const;
104
|
105 mike 1.11 Boolean identical(const CIMQualifierDeclRep* x) const;
106
107 CIMQualifierDeclRep* clone() const
108 {
109 return new CIMQualifierDeclRep(*this);
110 }
111
112 private:
113
114 CIMQualifierDeclRep();
115
116 CIMQualifierDeclRep(const CIMQualifierDeclRep& x);
117
|
118 kumpf 1.14 // This method is declared and made private so that the compiler does
119 // not implicitly define a default copy constructor.
120 CIMQualifierDeclRep& operator=(const CIMQualifierDeclRep& x)
121 {
|
122 kumpf 1.18 //PEGASUS_ASSERT(0);
|
123 kumpf 1.14 return *this;
124 }
|
125 mike 1.11
|
126 kumpf 1.21 CIMName _name;
|
127 mike 1.11 CIMValue _value;
|
128 kumpf 1.22 CIMScope _scope;
|
129 kumpf 1.23 CIMFlavor _flavor;
|
130 mike 1.11 Uint32 _arraySize;
131 };
132
133 PEGASUS_NAMESPACE_END
134
135 #endif /* Pegasus_QualifierDeclRep_h */
|