it_bus/message_reader.h

00001 #ifndef _IT_BUS_MESSAGE_READER_H_
00002 #define _IT_BUS_MESSAGE_READER_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/types.h>
00008 #include <it_bus/complex_type_reader.h>
00009 #include <it_bus/deserialization_exception.h>
00010 
00011 namespace IT_Bus
00012 {
00013     class FaultException;
00014     class BinaryBuffer;
00015     class UserFaultException;
00016     class ContextContainer;
00017     
00018     class MessageReader : public ComplexTypeReader
00019     {
00020       public:
00021         MessageReader() {} 
00022 
00023         virtual bool
00024         has_fault() = 0;
00025 
00026         virtual void
00027         read_fault(
00028             FaultException& fault
00029         ) throw((DeserializationException)) = 0;
00030 
00031         virtual void
00032         read_fault(
00033             UserFaultException& fault
00034         ) throw((DeserializationException)) = 0;
00035 
00036         virtual const QName &
00037         get_message_name() = 0;
00038 
00039         virtual void
00040         parse(
00041             const BinaryBuffer& buffer
00042         ) = 0;
00043 
00044         virtual void
00045         set_data(
00046             const BinaryBuffer& buffer
00047         ) = 0;
00048         
00049         virtual void
00050         set_data (
00051             MessageType message_type,
00052             const String & operation_name,
00053             const BinaryBuffer& buffer
00054         ) = 0;
00055 
00056         virtual const BinaryBuffer&
00057         get_data() = 0; 
00058 
00059         virtual void
00060         destroy_data() = 0;
00061 
00062         virtual const String
00063         get_operation_name() = 0;
00064 
00065         virtual void 
00066         set_wrapper_element_qname(
00067             const QName& name
00068         ) = 0;
00069 
00070         virtual const QName &
00071         get_wrapper_element_qname() = 0;
00072 
00073         virtual void
00074         initialize(
00075             ContextContainer* out_context_container,
00076             ContextContainer* in_context_container
00077         ) = 0;
00078     };
00079 }
00080 
00081 #endif  

Generated on Tue Mar 20 15:27:41 2007 for Artix by  doxygen 1.5.1-p1