(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 dave.sudlik 1.16.12.1 #include <Pegasus/Common/CIMObject.h>
41 mike        1.8       #include <Pegasus/Common/Array.h>
42                       
43                       PEGASUS_NAMESPACE_BEGIN
44                       
45                       /** This union is used to represent the values of properties, qualifiers,
46                           method return values, and method arguments. All of the types
47                           defined in CIMType.h are represented by a Union. The 
48                           Union is used as the the basis for the CIMValue implementation.
49                       */
50                       union Union
51                       {
52                           Uint8 _booleanValue;
53                           Uint8 _uint8Value;
54                           Sint8 _sint8Value;
55                           Uint16 _uint16Value;
56                           Sint16 _sint16Value;
57                           Uint32 _uint32Value;
58                           Sint32 _sint32Value;
59                           Uint64 _uint64Value;
60                           Sint64 _sint64Value;
61                           Real32 _real32Value;
62 mike        1.8           Real64 _real64Value;
63                           Uint16 _char16Value;
64 kumpf       1.11          String* _stringValue;
65 mike        1.8           CIMDateTime* _dateTimeValue;
66 kumpf       1.12          CIMObjectPath* _referenceValue;
67 dave.sudlik 1.16.12.1     CIMObject* _cimobjectValue;
68 mike        1.8       
69 kumpf       1.13          Array<Boolean>* _booleanArray;
70                           Array<Uint8>* _uint8Array;
71                           Array<Sint8>* _sint8Array;
72                           Array<Uint16>* _uint16Array;
73                           Array<Sint16>* _sint16Array;
74                           Array<Uint32>* _uint32Array;
75                           Array<Sint32>* _sint32Array;
76                           Array<Uint64>* _uint64Array;
77                           Array<Sint64>* _sint64Array;
78                           Array<Real32>* _real32Array;
79                           Array<Real64>* _real64Array;
80                           Array<Char16>* _char16Array;
81                           Array<String>* _stringArray;
82                           Array<CIMDateTime>* _dateTimeArray;
83                           Array<CIMObjectPath>* _referenceArray;
84 dave.sudlik 1.16.12.1     Array<CIMObject>* _cimobjectArray;
85 mike        1.8       };
86                       
87                       PEGASUS_NAMESPACE_END
88                       
89                       #endif /* Pegasus_Union_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2