1 mike 1.1 //BEGIN_LICENSE
2 //
3 // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a
6 // copy of this software and associated documentation files (the "Software"),
7 // to deal in the Software without restriction, including without limitation
8 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 // and/or sell copies of the Software, and to permit persons to whom the
10 // Software is furnished to do so, subject to the following conditions:
11 //
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
15 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
17 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
18 // DEALINGS IN THE SOFTWARE.
19 //
20 //END_LICENSE
21 //BEGIN_HISTORY
22 mike 1.1 //
23 // Author:
24 //
|
25 karl 1.2 // $Log: Union.h,v $
|
26 mike 1.3 // Revision 1.2 2001/01/30 08:00:43 karl
27 // DOC++ Documentation update for header files
28 //
|
29 karl 1.2 // Revision 1.1.1.1 2001/01/14 19:53:16 mike
30 // Pegasus import
31 //
|
32 mike 1.1 //
33 //END_HISTORY
34
35 ////////////////////////////////////////////////////////////////////////////////
36 //
37 // Union
38 //
39 // This union is used to represent the values of properties, qualifiers,
40 // method return values, and method arguments. All of the types
|
41 mike 1.3 // defined in CIMType.h are represented by a Union. The
42 // Union is used as the the basis for the CIMValue implementation.
|
43 mike 1.1 //
44 ////////////////////////////////////////////////////////////////////////////////
45
46 #ifndef Pegasus_Union_h
47 #define Pegasus_Union_h
48
49 #include <Pegasus/Common/Config.h>
|
50 mike 1.3 #include <Pegasus/Common/CIMType.h>
|
51 mike 1.1 #include <Pegasus/Common/String.h>
|
52 mike 1.3 #include <Pegasus/Common/CIMDateTime.h>
53 #include <Pegasus/Common/CIMReference.h>
|
54 mike 1.1 #include <Pegasus/Common/Array.h>
55
56 PEGASUS_NAMESPACE_BEGIN
|
57 karl 1.2 /** union Union
58 This union is used to represent the values of properties, qualifiers,
59 method return values, and method arguments. All of the types
|
60 mike 1.3 defined in CIMType.h are represented by a Union. The
61 Union is used as the the basis for the CIMValue implementation.
|
62 karl 1.2 */
|
63 mike 1.1 union Union
64 {
65 Uint8 _booleanValue;
66 Uint8 _uint8Value;
67 Sint8 _sint8Value;
68 Uint16 _uint16Value;
69 Sint16 _sint16Value;
70 Uint32 _uint32Value;
71 Sint32 _sint32Value;
72 Uint64 _uint64Value;
73 Sint64 _sint64Value;
74 Real32 _real32Value;
75 Real64 _real64Value;
76 Uint16 _char16Value;
77 String* _stringValue;
|
78 mike 1.3 CIMDateTime* _dateTimeValue;
79 CIMReference* _referenceValue;
|
80 mike 1.1
81 ArrayRep<Boolean>* _booleanArray;
82 ArrayRep<Uint8>* _uint8Array;
83 ArrayRep<Sint8>* _sint8Array;
84 ArrayRep<Uint16>* _uint16Array;
85 ArrayRep<Sint16>* _sint16Array;
86 ArrayRep<Uint32>* _uint32Array;
87 ArrayRep<Sint32>* _sint32Array;
88 ArrayRep<Uint64>* _uint64Array;
89 ArrayRep<Sint64>* _sint64Array;
90 ArrayRep<Real32>* _real32Array;
91 ArrayRep<Real64>* _real64Array;
92 ArrayRep<Char16>* _char16Array;
93 ArrayRep<String>* _stringArray;
|
94 mike 1.3 ArrayRep<CIMDateTime>* _dateTimeArray;
|
95 mike 1.1
96 void* _voidPtr;
97 };
98
99 PEGASUS_NAMESPACE_END
100
101 #endif /* Pegasus_Union_h */
|