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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2