it_bus_config/wsdl_definitions.h

00001 #ifndef _IT_WSDL_WSDL_DEFINITIONS_H_
00002 #define _IT_WSDL_WSDL_DEFINITIONS_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/ref_counted_base.h>
00008 #include <it_bus/var.h>
00009 #include <it_wsdl/wsdl_type_alias.h>
00010 #include <it_wsdl/wsdl_extension_element.h>
00011 #include <it_wsdl/wsdl_exception.h>
00012 #include <it_schema_model/model_reader.h>
00013 
00014 #ifndef IT_MINIMISE_INCLUDES
00015 #include <it_wsdl/api_defines.h>
00016 #include <it_bus/qname.h>
00017 #include <it_bus/xml_output_stream.h>
00018 #include <it_bus/io_exception.h>
00019 #include <it_wsdl/wsdl_binding.h>
00020 #include <it_wsdl/wsdl_node.h>
00021 #include <it_wsdl/wsdl_message.h>
00022 #include <it_wsdl/wsdl_service.h>
00023 #include <it_wsdl/wsdl_port_type.h>
00024 #endif
00025 
00026 
00027 namespace IT_WSDL
00028 {
00029     class WSDLBinding;
00030     class WSDLMessage;
00031     class WSDLService;
00032     class WSDLPortType;
00033     class WSDLOperation;
00034 
00035     class IT_WSDL_API WSDLDefinitions : virtual public WSDLExtensibleNode, public IT_Bus::RefCountedBase
00036     {
00037       public:
00038 
00047         virtual const WSDLMessage *
00048         get_message(
00049             const IT_Bus::QName & message_qname
00050         ) const = 0;
00051 
00060         virtual const WSDLService *
00061         get_service(
00062             const IT_Bus::QName & service_name
00063         ) const = 0;
00064 
00073         virtual WSDLService *
00074         get_service(
00075             const IT_Bus::QName & service_name
00076         ) = 0;
00077 
00087         virtual const WSDLServiceVector &
00088         get_services() const = 0;
00089 
00099         virtual WSDLServiceVector &
00100         get_services() = 0;
00101 
00110         virtual const WSDLPortType *
00111         get_port_type(
00112             const IT_Bus::QName & port_type_qname
00113         ) const = 0;
00114 
00123         virtual const WSDLBinding *
00124         get_binding(
00125             const IT_Bus::QName & binding_qname
00126         ) const = 0;
00127 
00137         virtual const WSDLBindingVector &
00138         get_bindings() const = 0;
00139 
00149         virtual WSDLBindingVector &
00150         get_bindings() = 0;
00151 
00162         virtual const IT_Bus::QName &
00163         get_name() const = 0;
00164 
00165         virtual const IT_XML_Model::ModelReader *
00166         get_model_reader() const = 0;
00167 
00173         virtual const IT_Bus::String&
00174         get_url() const = 0;
00175 
00176         virtual WSDLService *
00177         create_service(
00178             const IT_Bus::QName & service_name
00179         ) IT_THROW_DECL((WSDLException)) = 0;
00180 
00190         static
00191         WSDLDefinitions_ptr
00192         _duplicate(
00193             WSDLDefinitions_ptr definitions
00194         )
00195         {
00196             definitions->_add_ref();
00197             return definitions;
00198         }
00199 
00200       protected:
00201         WSDLDefinitions() {}
00202 
00203       private:
00204         // private and unimplemented to prevent copying
00205         WSDLDefinitions(const WSDLDefinitions&);
00206         void operator=(const WSDLDefinitions&);
00207     };
00208 }
00209 
00210 #endif  

Generated on Thu Sep 7 11:39:09 2006 for Artix by  doxygen 1.4.7