00001 #ifndef _IT_BUS_CONFIG_TUNNEL_WSDL_ADDRESS_H_ 00002 #define _IT_BUS_CONFIG_TUNNEL_WSDL_ADDRESS_H_ 00003 00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved. 00005 // 00006 00007 #include <it_bus/sequence_complex_type.h> 00008 #include <it_bus_config/tunnel_wsdl_extension_element.h> 00009 #include <it_bus_pdk/xml_attribute_writer.h> 00010 #include <it_bus_pdk/xml_node.h> 00011 #include "iiop_address.h" 00012 00013 namespace IT_Bus 00014 { 00019 class IT_TUNNEL_API TunnelWSDLAddress : 00020 public IIOPWSDLAddress, 00021 public TunnelWSDLExtensionElement, 00022 public IT_Bus::SequenceComplexType 00023 { 00024 public: 00025 00026 TunnelWSDLAddress( 00027 IT_WSDL::WSDLExtensibleNode* the_node 00028 ); 00029 00030 TunnelWSDLAddress(); 00031 00032 virtual ~TunnelWSDLAddress(); 00033 00034 virtual bool 00035 parse( 00036 const XMLIterator & element_iterator, 00037 const XMLNode & element, 00038 IT_WSDL::WSDLErrorHandler & error_handler 00039 ); 00040 00041 virtual bool 00042 export_to_client() const; 00043 00049 virtual const IT_Bus::String& 00050 get_location() const; 00051 00057 virtual void 00058 set_location( 00059 const IT_Bus::String& location 00060 ); 00061 00062 static const String ELEMENT_NAME; 00063 00064 static const String TYPE_ATTRIBUTE_NAME; 00065 00066 static const IT_Bus::QName TYPE_NAME; 00067 00068 virtual void 00069 read( 00070 const IT_Bus::QName& element_name, 00071 ComplexTypeReader & reader 00072 ) throw((IT_Bus::DeserializationException)); 00073 00074 virtual void 00075 write( 00076 const IT_Bus::QName& element_name, 00077 IT_Bus::ComplexTypeWriter & writer 00078 ) const throw((IT_Bus::SerializationException)); 00079 00080 virtual void 00081 write( 00082 IT_Bus::XMLOutputStream & stream 00083 ) const throw((IT_Bus::IOException)); 00084 00085 virtual void 00086 write_attributes( 00087 IT_Bus::XMLOutputStream & stream 00088 ) const throw((IT_Bus::IOException)); 00089 00104 IT_WSDL::WSDLExtensionElement* 00105 clone() const; 00106 00107 00108 /* 00109 * SequenceComplexType virtual methods. 00110 */ 00111 00112 virtual void 00113 read_contents( 00114 IT_Bus::ComplexTypeReader & os 00115 ) throw((IT_Bus::DeserializationException)); 00116 00117 virtual void 00118 write_contents( 00119 IT_Bus::ComplexTypeWriter & os 00120 ) const throw((IT_Bus::SerializationException)); 00121 00122 virtual void 00123 write_attributes( 00124 IT_Bus::ComplexTypeWriter & writer 00125 ) const throw((IT_Bus::SerializationException)); 00126 00127 virtual void 00128 read_attributes( 00129 IT_Bus::ComplexTypeReader & reader 00130 ) throw((IT_Bus::DeserializationException)); 00131 00132 virtual const IT_Bus::QName & 00133 get_type() const; 00134 00135 virtual 00136 IT_Bus::AnyType& 00137 copy( 00138 const IT_Bus::AnyType & rhs 00139 ); 00140 00141 TunnelWSDLAddress& operator=( 00142 const TunnelWSDLAddress & rhs 00143 ); 00144 00145 private: 00146 00147 String m_location; 00148 00149 String m_target_namespace; 00150 00151 TunnelWSDLAddress( 00152 const TunnelWSDLAddress& rhs 00153 ); 00154 }; 00155 } 00156 00157 #endif