00001 #ifndef _IT_WSDL_WSDL_PORT_TYPE_H_
00002 #define _IT_WSDL_WSDL_PORT_TYPE_H_
00003
00004
00005
00006
00007 #include <it_wsdl/api_defines.h>
00008 #include <it_wsdl/wsdl_extension_element.h>
00009
00010 #ifndef IT_MINIMISE_INCLUDES
00011 #include <it_bus/qname.h>
00012 #include <it_wsdl/wsdl_operation.h>
00013 #include <it_wsdl/wsdl_error_handler.h>
00014 #include <it_wsdl/wsdl_node.h>
00015 #endif
00016
00017 namespace IT_Bus
00018 {
00019 class QName;
00020 }
00021 namespace IT_WSDL
00022 {
00023 class WSDLDefinitions;
00024 class WSDLOperation;
00025
00029 typedef IT_Vector<WSDLOperation *> WSDLOperationVector;
00030
00035 class IT_WSDL_API WSDLPortType : virtual public WSDLExtensibleNode
00036 {
00037 public:
00045 virtual const WSDLDefinitions &
00046 get_definitions() const = 0;
00047
00056 virtual const WSDLOperationVector &
00057 get_operations() const = 0;
00058
00067 virtual WSDLOperationVector &
00068 get_operations() = 0;
00069
00079 virtual const WSDLOperation *
00080 get_operation(
00081 const IT_Bus::String & operation_name
00082 ) const = 0;
00083
00094 virtual const WSDLOperation *
00095 get_operation_from_input_message(
00096 const IT_Bus::QName & input_message
00097 ) const = 0;
00098
00109 virtual const WSDLOperation *
00110 get_operation_from_output_message(
00111 const IT_Bus::QName & output_message
00112 ) const = 0;
00113
00119 virtual const IT_Bus::QName &
00120 get_name() const = 0;
00121
00129 virtual const IT_Bus::QName &
00130 get_resource_properties() const = 0;
00131
00132 protected:
00133 WSDLPortType() {}
00134
00135 private:
00136
00137 WSDLPortType &
00138 operator = (
00139 const WSDLPortType& rhs
00140 );
00141
00142 WSDLPortType(
00143 const WSDLPortType& rhs
00144 );
00145 };
00146 }
00147
00148 #endif