Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

it_bus_pdk/transport_readable_message.h

00001 #ifndef _TRANSPORT_READABLE_MESSAGE_H_
00002 #define _TRANSPORT_READABLE_MESSAGE_H_
00003 
00004 //
00005 //  Copyright (c) 2002 IONA Technologies PLC. All Rights Reserved.
00006 //
00007 
00008 #include <it_dsa/vector.h>
00009 #include <it_bus/readable_message.h>
00010 #include <it_bus/binary_buffer.h>
00011 
00012 namespace IT_WSDL
00013 {
00014     class WSDLOperation;
00015     class WSDLDefinitions;
00016 }
00017 
00018 namespace IT_Bus
00019 {
00020     class MessageReader;
00021 
00022     class IT_BUS_API TransportReadableMessage : public ReadableMessage
00023     {
00024       public:
00025 
00026         TransportReadableMessage(
00027             MessageType message_type,
00028             MessageReader * message_reader,
00029             const IT_WSDL::WSDLOperation& wsdl_operation
00030         );
00031 
00032         virtual
00033         ~TransportReadableMessage();
00034 
00035         void
00036         read();
00037 
00038         virtual void
00039         read(
00040             const String& name,
00041             BinaryBuffer & response
00042         );
00043 
00044         virtual bool
00045         has_fault();
00046 
00047         virtual const QName &
00048         get_message_name();
00049 
00050         virtual void
00051         read_fault(
00052             UserFaultException& fault
00053         ) throw((DeserializationException));
00054 
00055         virtual void 
00056         set_wrapper_element_qname(
00057             const QName& name
00058         );
00059 
00060         virtual const QName &
00061         get_wrapper_element_qname();
00062 
00063         virtual MessageReader *
00064         get_reader();
00065 
00066         virtual const BinaryBuffer&
00067         get_data() throw((NoDataException)); 
00068 
00069         virtual void
00070         set_reader(
00071             MessageReader* message_reader
00072         );
00073 
00074       private:
00075         const IT_WSDL::WSDLDefinitions& m_wsdl_definition;
00076         MessageReader * m_message_reader;
00077         MessageType m_message_type;
00078         bool m_is_message_empty;
00079 
00080         // private and unimplemented to prevent copying
00081         //
00082         TransportReadableMessage(const TransportReadableMessage& rhs);
00083         void operator=(const TransportReadableMessage& rhs);
00084     };
00085 }
00086 
00087 #endif  
00088 

Generated on Wed Mar 22 12:23:17 2006 for Artix by  doxygen 1.3.9.1