Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages | Examples

TypeMapping.hpp

00001 /* 00002 * Copyright 2003-2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 00018 #ifdef WIN32 00019 #pragma warning (disable : 4786) 00020 #endif 00021 00022 #if !defined(_TYPEMAPPING_H____OF_AXIS_INCLUDED_) 00023 #define _TYPEMAPPING_H____OF_AXIS_INCLUDED_ 00024 00025 #include "GDefine.hpp" 00026 #include <map> 00027 #include <string> 00028 00029 AXIS_CPP_NAMESPACE_START 00030 using namespace std; 00031 00032 typedef enum XSDTYPETag 00033 { XSD_UNKNOWN=1, XSD_INT, XSD_FLOAT, XSD_STRING, XSD_LONG, XSD_SHORT, \ 00034 XSD_BYTE, XSD_UNSIGNEDLONG, \ 00035 XSD_BOOLEAN, XSD_UNSIGNEDINT, XSD_UNSIGNEDSHORT, \ 00036 XSD_UNSIGNEDBYTE, \ 00037 XSD_DOUBLE, XSD_DECIMAL, XSD_DURATION, \ 00038 XSD_DATETIME, XSD_TIME, XSD_DATE, \ 00039 XSD_YEARMONTH, XSD_YEAR, XSD_MONTHDAY, XSD_DAY, \ 00040 XSD_MONTH, XSD_HEXBINARY, \ 00041 XSD_BASE64BINARY, XSD_ANYURI, XSD_QNAME, XSD_NCNAME, XSD_NOTATION, \ 00042 XSD_INTEGER, \ 00043 XSD_ARRAY, USER_TYPE, ACCESSOR, XSD_NMTOKEN, XSD_ANY 00044 } XSDTYPE; 00045 00054 class TypeMapping 00055 { 00056 public: 00057 static XSDTYPE map(const AxisXMLCh* sType); 00058 static void initialize(); 00059 static void uninitialize(); 00060 00061 #if (defined(AIX) || (defined(_MSC_VER) && _MSC_VER >= 1300) || defined( __OS400__ ) || defined(__sun)) 00062 static std::map<std::string, XSDTYPE> m_sTypeMap; 00063 #else 00064 static std::map<const std::string, XSDTYPE> m_sTypeMap; 00065 #endif 00066 static volatile bool m_bInit; 00067 TypeMapping(); 00068 virtual ~TypeMapping(); 00069 00070 }; 00071 00072 AXIS_CPP_NAMESPACE_END 00073 00074 #endif

Generated on Tue Feb 8 14:34:17 2005 for AxisC++ by doxygen 1.3.8