Return to types.h CVS log | Up to [OMI] / omi / micxx |
1 mike 1.1 /* 2 **============================================================================== 3 ** 4 ** Open Management Infrastructure (OMI) 5 ** 6 ** Copyright (c) Microsoft Corporation 7 ** 8 ** Licensed under the Apache License, Version 2.0 (the "License"); you may not 9 ** use this file except in compliance with the License. You may obtain a copy 10 ** of the License at 11 ** 12 ** http://www.apache.org/licenses/LICENSE-2.0 13 ** 14 ** THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 ** KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 16 ** WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 17 ** MERCHANTABLITY OR NON-INFRINGEMENT. 18 ** 19 ** See the Apache 2 License for the specific language governing permissions 20 ** and limitations under the License. 21 ** 22 mike 1.1 **============================================================================== 23 */ 24 25 #ifndef _micxx_types_h 26 #define _micxx_types_h 27 28 #include <MI.h> 29 #include "linkage.h" 30 #include "array.h" | ||
31 krisbash 1.3 #include "micxx_string.h" | ||
32 mike 1.1 #include "datetime.h" 33 34 MI_BEGIN_NAMESPACE 35 36 // character type. 37 typedef MI_Char Char; 38 39 // simple types 40 typedef MI_Boolean Boolean; 41 typedef MI_Uint8 Uint8; 42 typedef MI_Sint8 Sint8; 43 typedef MI_Uint16 Uint16; 44 typedef MI_Sint16 Sint16; 45 typedef MI_Uint32 Uint32; 46 typedef MI_Sint32 Sint32; 47 typedef MI_Uint64 Uint64; 48 typedef MI_Sint64 Sint64; 49 typedef MI_Real32 Real32; 50 typedef MI_Real64 Real64; 51 typedef MI_Char16 Char16; 52 53 mike 1.1 typedef MI_Type Type; 54 55 // Convert from MI_Boolean to bool. 56 inline bool __bool(MI_Boolean x) 57 { 58 return x ? true : false; 59 } 60 61 MICXX_LINKAGE extern const ArrayTraits* __traits[16]; 62 63 template<> 64 inline const ArrayTraits* GetArrayTraits<Uint8>() 65 { 66 return __traits[MI_UINT8]; 67 }; 68 69 template<> 70 inline const ArrayTraits* GetArrayTraits<Sint8>() 71 { 72 return __traits[MI_SINT8]; 73 }; 74 mike 1.1 75 template<> 76 inline const ArrayTraits* GetArrayTraits<Uint16>() 77 { 78 return __traits[MI_UINT16]; 79 }; 80 81 template<> 82 inline const ArrayTraits* GetArrayTraits<Sint16>() 83 { 84 return __traits[MI_SINT16]; 85 }; 86 87 template<> 88 inline const ArrayTraits* GetArrayTraits<Uint32>() 89 { 90 return __traits[MI_UINT32]; 91 }; 92 93 template<> 94 inline const ArrayTraits* GetArrayTraits<Sint32>() 95 mike 1.1 { 96 return __traits[MI_SINT32]; 97 }; 98 99 template<> 100 inline const ArrayTraits* GetArrayTraits<Uint64>() 101 { 102 return __traits[MI_UINT64]; 103 }; 104 105 template<> 106 inline const ArrayTraits* GetArrayTraits<Sint64>() 107 { 108 return __traits[MI_SINT64]; 109 }; 110 111 template<> 112 inline const ArrayTraits* GetArrayTraits<Real32>() 113 { 114 return __traits[MI_REAL32]; 115 }; 116 mike 1.1 117 template<> 118 inline const ArrayTraits* GetArrayTraits<Real64>() 119 { 120 return __traits[MI_REAL64]; 121 }; 122 123 template<> 124 inline const ArrayTraits* GetArrayTraits<Datetime>() 125 { 126 return __traits[MI_DATETIME]; 127 }; 128 129 template<> 130 inline const ArrayTraits* GetArrayTraits<String>() 131 { 132 return __traits[MI_STRING]; 133 }; 134 135 // Array types 136 typedef Array<Boolean> BooleanA; 137 mike 1.1 typedef Array<Uint8> Uint8A; 138 typedef Array<Sint8> Sint8A; 139 typedef Array<Uint16> Uint16A; 140 typedef Array<Sint16> Sint16A; 141 typedef Array<Uint32> Uint32A; 142 typedef Array<Sint32> Sint32A; 143 typedef Array<Uint64> Uint64A; 144 typedef Array<Sint64> Sint64A; 145 typedef Array<Real32> Real32A; 146 typedef Array<Real64> Real64A; 147 typedef Array<Datetime> DatetimeA; 148 typedef Array<String> StringA; 149 typedef Array<Char16> Char16A; 150 151 typedef MI_Result Result; 152 153 MI_END_NAMESPACE 154 155 #endif /* _micxx_types_h */ |
ViewCVS 0.9.2 |