it_bus_config/xml_format_wsdl_binding.h

00001 #ifndef _IT_BUS_CONFIG_XML_FORMAT_WSDL_BINDING_H_
00002 #define _IT_BUS_CONFIG_XML_FORMAT_WSDL_BINDING_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
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&       /*element_name*/,
00052             IT_Bus::ComplexTypeReader& /*reader*/
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&      /*element_name*/,
00061             IT_Bus::ComplexTypeWriter& /*writer*/
00062         ) const throw((IT_Bus::SerializationException))
00063         {
00064             // complete
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& /*rhs*/
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  

Generated on Tue Mar 20 15:27:45 2007 for Artix by  doxygen 1.5.1-p1