it_bus_config/mq_wsdl_extension_element.h

00001 #ifndef _IT_BUS_CONFIG_MQ_WSDL_EXTENSION_ELEMENT_H_
00002 #define _IT_BUS_CONFIG_MQ_WSDL_EXTENSION_ELEMENT_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_wsdl/wsdl_extension_element.h>
00008 #include <it_bus_pdk/xml_node.h>
00009 
00010 #if !defined(IT_MQ_API)
00011 #if defined(IT_MQ_API_EXPORT)
00012 #define IT_MQ_API    IT_DECLSPEC_EXPORT
00013 #else
00014 #define IT_MQ_API    IT_DECLSPEC_IMPORT
00015 #endif
00016 #endif
00017 
00018 namespace IT_MQ
00019 {
00023     class MQWSDLExtensionElement : 
00024     public IT_WSDL::WSDLExtensionElement,
00025     public IT_Bus::XMLNode
00026     {
00027       public:
00028 
00029         MQWSDLExtensionElement(
00030             IT_WSDL::WSDLExtensibleNode* the_node
00031         );
00032 
00051         virtual const IT_Bus::QName &
00052         get_element_name() const;
00053 
00060         virtual const IT_Bus::String &
00061         get_target_namespace() const;
00062 
00063         virtual
00064         IT_WSDL::WSDLExtensionFactory &
00065         get_extension_factory();
00066 
00067         virtual
00068         ~MQWSDLExtensionElement();
00069 
00070         virtual void
00071         read(
00072             const IT_Bus::QName&       /*element_name*/,
00073             IT_Bus::ComplexTypeReader& /*reader*/
00074         ) throw((IT_Bus::DeserializationException))
00075         {
00076             throw IT_Bus::IOException("Not Supported");
00077         }
00078 
00079         virtual void
00080         write(
00081             const IT_Bus::QName&      /*element_name*/,
00082             IT_Bus::ComplexTypeWriter& /*writer*/
00083         ) const throw((IT_Bus::SerializationException))
00084         {
00085             // complete
00086         }
00087 
00088         virtual void
00089         write(
00090             IT_Bus::XMLOutputStream & stream
00091         ) const throw((IT_Bus::IOException));
00092 
00098         virtual 
00099         IT_Bus::AnyType&
00100         copy(
00101             const IT_Bus::AnyType& /*rhs*/
00102         )
00103         {
00104             return *this;
00105         }
00106         
00107       protected:
00108 
00109         IT_Bus::QName                m_element_name;
00110         IT_Bus::String               m_target_namespace;
00111         IT_WSDL::WSDLExtensibleNode* m_wsdl_extensible_node;
00112 
00113       private:
00114 
00115         MQWSDLExtensionElement & 
00116         operator = (
00117             const MQWSDLExtensionElement& rhs
00118         );
00119 
00120         MQWSDLExtensionElement(
00121             const MQWSDLExtensionElement& rhs
00122         );
00123     };
00124 }
00125 
00126 #endif  

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