00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _TypeBase_H
00023 #define _TypeBase_H
00024
00025 #include <string>
00026
00027
00028 namespace Xml { class XmlNode; }
00029 class Wsdl;
00030
00031 class TypeBase
00032 {
00033 public:
00034 TypeBase(const Wsdl& wsdl, const Xml::XmlNode& node, const std::string& ns_prefix, const std::string& type);
00035 ~TypeBase();
00036
00037 const std::string& Type() const { return m_type; }
00038 const std::string Documentation(const Xml::XmlNode& ) const;
00039 const std::string CType() const;
00040
00041 const std::string& NsHref() const { return m_ns_href; }
00042
00043 void SetType(const std::string& x);
00044
00045 bool IsBuiltin() const;
00046 bool IsNumeric() const { return m_b_is_numeric; }
00047
00048 protected:
00049 const Wsdl& m_wsdl;
00050 const Xml::XmlNode& m_node;
00051 std::string m_ns_href;
00052 std::string m_type;
00053 bool m_b_is_numeric;
00054 };
00055
00056
00057
00058
00059 #endif // _TypeBase_H