it_bus_pdk/messaging_port.h

00001 #ifndef _IT_BUS_PDK_MESSAGING_PORT_H_
00002 #define _IT_BUS_PDK_MESSAGING_PORT_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #ifndef IT_MINIMISE_INCLUDES
00008 #include <it_bus/bus.h>
00009 #endif
00010 
00011 #include <it_bus/api_defines.h>
00012 #include <it_bus/qname.h>
00013 #include <it_bus/port.h>
00014 #include <it_bus/port_factory.h>
00015 #include <it_bus/binding_manager.h>
00016 #include <it_bus_pdk/registry.h>
00017 #include <it_bus_pdk/messaging_transport.h>
00018 #include <it_wsdl/wsdl_port.h>
00019 
00020 namespace IT_Bus
00021 {
00022     const QName MESSAGING_PORT_MESSAGE_NAME("bus", "messaging_port", "http://schemas.iona.com/bus");
00023 
00024     class InterceptorFactory;
00025     class EndpointManager;
00026 
00027     class IT_BUS_API MessagingPort : public Port        
00028     {
00029       public:
00030         MessagingPort() {}
00031 
00032         virtual ~MessagingPort();
00033 
00034         //messaging specific
00035         virtual void
00036         start_invoke(ClientOperation& data) = 0;
00037 
00038         virtual void
00039         assemble_client_interceptors() = 0;
00040 
00041         virtual const ServerMessageInterceptorChain&
00042         get_server_message_binding_chain() = 0;
00043     
00044         virtual void
00045         add_client_message_interceptor_factory(
00046             InterceptorFactory*
00047         ) = 0;
00048 
00049         virtual EndpointManager*
00050         get_endpoint_manager() = 0;
00051 
00052       private:
00053         
00054         // no copies
00055         //
00056         MessagingPort & 
00057         operator = (
00058             const MessagingPort& rhs
00059         );
00060 
00061         MessagingPort(
00062             const MessagingPort& rhs
00063         );
00064     };
00065 }
00066 
00067 #endif  

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