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

it_bus/message_writer.h

00001 #ifndef _IT_BUS_MESSAGE_WRITER_H_
00002 #define _IT_BUS_MESSAGE_WRITER_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/api_defines.h>
00008 #include <it_bus/types.h>
00009 #include <it_bus/qname.h>
00010 #include <it_bus/complex_type_writer.h>
00011 #include <it_bus/user_fault_exception.h>
00012 #include <it_bus/serialization_exception.h>
00013 #include <it_bus/binary_buffer.h>
00014 #include <it_bus/fault_exception.h>
00015 
00016 namespace IT_Bus {
00017     class ContextContainer;
00018 
00019     class MessageWriter : public ComplexTypeWriter
00020     {
00021       public:
00022         MessageWriter() {} 
00023 
00024         virtual void
00025         write_fault(
00026             const UserFaultException& fault
00027         ) throw((
00028             SerializationException,
00029             UserFaultException,
00030             FaultException,
00031             DeserializationException,
00032             Exception
00033         )) = 0;
00034 
00035         virtual void 
00036         start_input_message(
00037             const String & operation_name
00038         ) throw((SerializationException)) = 0;
00039 
00040         virtual void 
00041         start_output_message(
00042             const String & operation_name
00043         ) throw((SerializationException)) = 0;
00044 
00045         virtual void 
00046         end_message(
00047         ) throw((SerializationException)) = 0;
00048 
00049         virtual void write_fault(
00050             const FaultException & ex
00051         ) throw((
00052             SerializationException,
00053             UserFaultException,
00054             FaultException,
00055             DeserializationException,
00056             Exception
00057         )) = 0;
00058 
00059         virtual const BinaryBuffer&
00060         get_data() = 0;    
00061 
00062         virtual void
00063         destroy_data() = 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 Wed Mar 22 12:23:01 2006 for Artix by  doxygen 1.3.9.1