it_bus/message_reader_writer_factory.h

00001 #ifndef _IT_BUS_MESSAGE_READER_WRITER_FACTORY_H_
00002 #define _IT_BUS_MESSAGE_READER_WRITER_FACTORY_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/api_defines.h>
00008 #ifndef IT_MINIMISE_INCLUDES
00009 #include <it_wsdl/wsdl_port.h>
00010 #endif
00011 
00012 namespace IT_WSDL
00013 {
00014     class WSDLPort;
00015 }
00016 namespace IT_Bus
00017 {
00018     class SendMessageContext;
00019     class ReceiveMessageContext;
00020     class IT_BUS_API BindingHeaderProcessor
00021     {
00022       public:
00023 
00024         virtual void
00025         add_headers(
00026             SendMessageContext*      outgoing_data,
00027             const IT_WSDL::WSDLPort& wsdl_port
00028         ) = 0;
00029 
00030         virtual void
00031         extract_headers(
00032             ReceiveMessageContext*   incoming_data,
00033             const IT_WSDL::WSDLPort& wsdl_port
00034         ) = 0;
00035     };
00036 
00037     class MessageReader;
00038     class MessageWriter;
00039 
00040     class IT_BUS_API MessageReaderWriterFactory
00041     {
00042       public:
00043 
00044         virtual MessageReader*
00045         create_message_reader(
00046             const IT_WSDL::WSDLPort& wsdl_port
00047         ) = 0;
00048 
00049         virtual MessageWriter*
00050         create_message_writer(
00051             const IT_WSDL::WSDLPort& wsdl_port
00052         ) = 0;
00053 
00054         virtual BindingHeaderProcessor*
00055         get_binding_header_processor();
00056 
00057         MessageReaderWriterFactory();
00058 
00059         virtual
00060         ~MessageReaderWriterFactory();
00061     };
00062 }
00063 
00064 #endif  

Generated on Thu Sep 7 11:38:54 2006 for Artix by  doxygen 1.4.7