it_wsdl/wsdl_service.h

00001 #ifndef _IT_WSDL_WSDL_SERVICE_H_
00002 #define _IT_WSDL_WSDL_SERVICE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_dsa/vector.h>
00008 #include <it_wsdl/wsdl_exception.h>
00009 #include <it_wsdl/api_defines.h>
00010 #include <it_wsdl/wsdl_extension_element.h>
00011 
00012 #ifndef IT_MINIMISE_INCLUDES
00013 #include <it_wsdl/wsdl_port.h>
00014 #include <it_wsdl/wsdl_node.h>
00015 #include <it_bus/qname.h>
00016 #include <it_wsdl/wsdl_port.h>
00017 #endif
00018 
00019 namespace IT_WSDL
00020 {
00021     class WSDLDefinitions;
00022     class WSDLPort;    
00026     typedef IT_Vector<WSDLPort *> WSDLPortVector;
00027 
00032     class IT_WSDL_API WSDLService : virtual public WSDLExtensibleNode
00033     {
00034       public:
00042         virtual WSDLDefinitions &
00043         get_definitions() = 0;
00044 
00052         virtual const WSDLDefinitions &
00053         get_definitions() const = 0;
00054 
00063         virtual const WSDLPort *
00064         get_port(
00065             const IT_Bus::String & port_name
00066         ) const = 0;
00067 
00076         virtual WSDLPort *
00077         get_port(
00078             const IT_Bus::String & port_name
00079         ) = 0;
00080 
00089         virtual WSDLPortVector &
00090         get_ports() = 0;
00091 
00100         virtual const WSDLPortVector &
00101         get_ports() const = 0;
00102 
00108         virtual const IT_Bus::QName &
00109         get_name() const = 0;
00110 
00111         virtual WSDLPort *
00112         create_port(
00113             const IT_Bus::String & port_name,
00114             const IT_Bus::QName & binding_qname
00115         ) throw((WSDLException)) = 0;
00116 
00117       protected:
00118         WSDLService() {}
00119         
00120       private:
00121         WSDLService &
00122         operator = (
00123             const WSDLService& rhs
00124         );
00125         
00126         WSDLService(
00127             const WSDLService& rhs
00128         );
00129     };   
00130 }
00131 
00132 #endif  

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