(file) Return to Union.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

 1 mike  1.8 //%/////////////////////////////////////////////////////////////////////////////
 2           //
 3           // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM
 4           //
 5           // Permission is hereby granted, free of charge, to any person obtaining a copy
 6           // of this software and associated documentation files (the "Software"), to 
 7           // deal in the Software without restriction, including without limitation the 
 8           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 
 9           // sell copies of the Software, and to permit persons to whom the Software is
10           // furnished to do so, subject to the following conditions:
11           // 
12           // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN 
13           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
14           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
15           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 
16           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
17           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 
18           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
19           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20           //
21           //==============================================================================
22 mike  1.8 //
23           // Author: Mike Brasher (mbrasher@bmc.com)
24           //
25 kumpf 1.10 // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
26 mike  1.8  //
27            //%/////////////////////////////////////////////////////////////////////////////
28            
29            #ifndef Pegasus_Union_h
30            #define Pegasus_Union_h
31            
32            #include <Pegasus/Common/Config.h>
33            #include <Pegasus/Common/CIMType.h>
34            #include <Pegasus/Common/String.h>
35            #include <Pegasus/Common/CIMDateTime.h>
36 kumpf 1.12 #include <Pegasus/Common/CIMObjectPath.h>
37 mike  1.8  #include <Pegasus/Common/Array.h>
38            
39            PEGASUS_NAMESPACE_BEGIN
40            
41            /** This union is used to represent the values of properties, qualifiers,
42                method return values, and method arguments. All of the types
43                defined in CIMType.h are represented by a Union. The 
44                Union is used as the the basis for the CIMValue implementation.
45            */
46            union Union
47            {
48                Uint8 _booleanValue;
49                Uint8 _uint8Value;
50                Sint8 _sint8Value;
51                Uint16 _uint16Value;
52                Sint16 _sint16Value;
53                Uint32 _uint32Value;
54                Sint32 _sint32Value;
55                Uint64 _uint64Value;
56                Sint64 _sint64Value;
57                Real32 _real32Value;
58 mike  1.8      Real64 _real64Value;
59                Uint16 _char16Value;
60 kumpf 1.11     String* _stringValue;
61 mike  1.8      CIMDateTime* _dateTimeValue;
62 kumpf 1.12     CIMObjectPath* _referenceValue;
63 mike  1.8  
64 kumpf 1.13     Array<Boolean>* _booleanArray;
65                Array<Uint8>* _uint8Array;
66                Array<Sint8>* _sint8Array;
67                Array<Uint16>* _uint16Array;
68                Array<Sint16>* _sint16Array;
69                Array<Uint32>* _uint32Array;
70                Array<Sint32>* _sint32Array;
71                Array<Uint64>* _uint64Array;
72                Array<Sint64>* _sint64Array;
73                Array<Real32>* _real32Array;
74                Array<Real64>* _real64Array;
75                Array<Char16>* _char16Array;
76                Array<String>* _stringArray;
77                Array<CIMDateTime>* _dateTimeArray;
78                Array<CIMObjectPath>* _referenceArray;
79 mike  1.8  
80                void* _voidPtr;
81            };
82            
83            PEGASUS_NAMESPACE_END
84            
85            #endif /* Pegasus_Union_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2