00001 #ifndef _IT_BUS_CONFIG_XML_FORMAT_WSDL_BINDING_H_
00002 #define _IT_BUS_CONFIG_XML_FORMAT_WSDL_BINDING_H_
00003
00004
00005
00006
00007 #ifndef IT_MINIMISE_INCLUDES
00008 #include <it_wsdl/wsdl_port.h>
00009 #endif
00010 #include <it_wsdl/wsdl_extension_element.h>
00011 #include <it_bus_pdk/xml_node.h>
00012
00013 #if !defined(IT_SOAP_API)
00014 #if defined(IT_SOAP_API_EXPORT)
00015 #define IT_SOAP_API IT_DECLSPEC_EXPORT
00016 #else
00017 #define IT_SOAP_API IT_DECLSPEC_IMPORT
00018 #endif
00019 #endif
00020
00021 namespace IT_WSDL
00022 {
00023 class WSDLPort;
00024 }
00025 namespace IT_Bus
00026 {
00031 class IT_SOAP_API XMLFormatWSDLBinding : public IT_WSDL::WSDLExtensionElement, public XMLNode
00032 {
00033 public:
00034
00035 XMLFormatWSDLBinding(
00036 IT_WSDL::WSDLExtensibleNode & parent
00037 );
00038
00039 virtual ~XMLFormatWSDLBinding();
00040
00041
00042 bool
00043 parse(
00044 const XMLIterator & element_iterator,
00045 const IT_Bus::XMLNode & element,
00046 IT_WSDL::WSDLErrorHandler & error_handler
00047 );
00048
00049 virtual void
00050 read(
00051 const IT_Bus::QName& ,
00052 IT_Bus::ComplexTypeReader&
00053 ) throw((IT_Bus::DeserializationException))
00054 {
00055 throw IT_Bus::DeserializationException("Not Supported");
00056 }
00057
00058 virtual void
00059 write(
00060 const IT_Bus::QName& ,
00061 IT_Bus::ComplexTypeWriter&
00062 ) const throw((IT_Bus::SerializationException))
00063 {
00064
00065 }
00066
00074 static const XMLFormatWSDLBinding*
00075 get_from_port(
00076 const IT_WSDL::WSDLPort& wsdl_port
00077 );
00078
00082 virtual void
00083 write_attributes(
00084 IT_Bus::XMLOutputStream & stream
00085 ) const throw((IOException));
00086
00092 const QName &
00093 get_root_node_name() const;
00094
00113 virtual const IT_Bus::QName &
00114 get_element_name() const;
00115
00122 virtual const IT_Bus::String &
00123 get_target_namespace() const;
00124
00125 virtual
00126 IT_WSDL::WSDLExtensionFactory &
00127 get_extension_factory();
00128
00129 virtual void
00130 write(
00131 IT_Bus::XMLOutputStream & stream
00132 ) const throw((IOException));
00133
00139 virtual
00140 IT_Bus::AnyType&
00141 copy(
00142 const IT_Bus::AnyType&
00143 )
00144 {
00145 return *this;
00146 }
00147
00148 protected:
00149
00150 IT_WSDL::WSDLExtensibleNode & m_wsdl_extensible_node;
00151
00152 private:
00153
00154 QName m_root_name;
00155
00156 XMLFormatWSDLBinding &
00157 operator = (
00158 const XMLFormatWSDLBinding& rhs
00159 );
00160
00161 XMLFormatWSDLBinding (
00162 const XMLFormatWSDLBinding& rhs
00163 );
00164 };
00165 }
00166
00167 #endif