it_bus_pdk/transport_writable_message.h

00001 #ifndef _IT_BUS_PDK_TRANSPORT_WRITABLE_MESSAGE_H_
00002 #define _IT_BUS_PDK_TRANSPORT_WRITABLE_MESSAGE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_dsa/vector.h>
00008 #include <it_bus/writable_message.h>
00009 #include <it_bus/operation.h>
00010 
00011 namespace IT_WSDL
00012 {
00013     class WSDLOperation;
00014     class WSDLDefinitions;
00015 }
00016 
00017 namespace IT_Bus
00018 {
00019     class MessageWriter;
00020     
00021     class IT_BUS_API TransportWritableMessage : public WritableMessage
00022     {
00023       public:
00024 
00025         TransportWritableMessage(
00026             MessageType message_type,
00027             MessageWriter * writer,
00028             const IT_WSDL::WSDLOperation& wsdl_operation
00029         );
00030 
00031         virtual 
00032         ~TransportWritableMessage();
00033 
00034         void
00035         write();
00036         
00037         void
00038         write_element_type(
00039             IT_Bus::ServerOperation& operation_handler
00040         );
00041         
00042         virtual void
00043         set_writer(
00044             MessageWriter * writer
00045         );
00046 
00047         virtual void 
00048         set_wrapper_element_qname(
00049             const QName& name
00050         );
00051 
00052         virtual const QName &
00053         get_wrapper_element_qname();
00054 
00055         virtual MessageWriter *
00056         get_writer();
00057 
00058       private:
00059         const IT_WSDL::WSDLDefinitions& m_wsdl_definition;
00060         MessageWriter * m_message_writer;
00061         MessageType m_message_type;
00062 
00063         // private and unimplemented to prevent copying
00064         //
00065         TransportWritableMessage(const TransportWritableMessage&);
00066         void operator=(const TransportWritableMessage&);
00067     };
00068 }
00069 
00070 #endif  

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