00001 #ifndef _IT_BUS_CONFIG_CORBA_WSDL_ADDRESS_H_ 00002 #define _IT_BUS_CONFIG_CORBA_WSDL_ADDRESS_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_bus_config/corba_wsdl_extension_element.h> 00011 #include <it_bus/sequence_complex_type.h> 00012 #include "iiop_address.h" 00013 00014 namespace IT_WSDL 00015 { 00016 class WSDLPort; 00017 } 00018 namespace IT_WS_ORB 00019 { 00024 class IT_WS_ORB_API CORBAWSDLAddress : 00025 public IT_Bus::IIOPWSDLAddress, 00026 public CORBAWSDLExtensionElement, 00027 public IT_Bus::SequenceComplexType 00028 { 00029 public: 00030 00031 CORBAWSDLAddress( 00032 IT_WSDL::WSDLExtensibleNode * parent 00033 ); 00034 00035 CORBAWSDLAddress(); 00036 00037 virtual ~CORBAWSDLAddress(); 00038 00047 virtual const IT_Bus::String& 00048 get_location() const; 00049 00055 virtual void 00056 set_location( 00057 const IT_Bus::String& location 00058 ); 00059 00073 IT_WSDL::WSDLExtensionElement* 00074 clone() const; 00075 00076 bool 00077 parse( 00078 const IT_Bus::XMLIterator & element_iterator, 00079 const IT_Bus::XMLNode & element, 00080 IT_WSDL::WSDLErrorHandler & error_handler 00081 ); 00082 00083 virtual bool 00084 export_to_client() const; 00085 00089 virtual void 00090 write_attributes( 00091 IT_Bus::XMLOutputStream & stream 00092 ) const throw((IT_Bus::IOException)); 00093 00100 virtual void 00101 write( 00102 IT_Bus::XMLOutputStream & stream 00103 ) const throw((IT_Bus::IOException)); 00104 00111 virtual void 00112 read( 00113 const IT_Bus::QName& element_name, 00114 IT_Bus::ComplexTypeReader & reader 00115 ) throw((IT_Bus::DeserializationException)); 00116 00123 virtual void 00124 write( 00125 const IT_Bus::QName& element_name, 00126 IT_Bus::ComplexTypeWriter & writer 00127 ) const throw((IT_Bus::SerializationException)); 00128 00129 /* 00130 * SequenceComplexType virtual methods. 00131 */ 00132 00133 virtual void 00134 read_contents( 00135 IT_Bus::ComplexTypeReader & os 00136 ) throw((IT_Bus::DeserializationException)); 00137 00138 virtual void 00139 write_contents( 00140 IT_Bus::ComplexTypeWriter & os 00141 ) const throw((IT_Bus::SerializationException)); 00142 00143 virtual void 00144 write_attributes( 00145 IT_Bus::ComplexTypeWriter & writer 00146 ) const throw((IT_Bus::SerializationException)); 00147 00148 virtual void 00149 read_attributes( 00150 IT_Bus::ComplexTypeReader & reader 00151 ) throw((IT_Bus::DeserializationException)); 00152 00163 virtual const IT_Bus::QName & 00164 get_type() const; 00165 00175 virtual 00176 IT_Bus::AnyType& 00177 copy( 00178 const IT_Bus::AnyType & rhs 00179 ); 00180 00184 CORBAWSDLAddress& operator=( 00185 const CORBAWSDLAddress & rhs 00186 ); 00187 00196 static const CORBAWSDLAddress* 00197 get_from_port( 00198 const IT_WSDL::WSDLPort& wsdl_port 00199 ); 00200 00201 private: 00202 00203 CORBAWSDLAddress ( 00204 const CORBAWSDLAddress& rhs 00205 ); 00206 00207 IT_Bus::String m_location; 00208 }; 00209 } 00210 00211 #endif