it_bus/binary_buffer_nillable.h

00001 #ifndef _IT_BUS_BINARY_BUFFER_NILLABLE_H_
00002 #define _IT_BUS_BINARY_BUFFER_NILLABLE_H_
00003 
00004 // @Copyright 2003 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/binary_buffer.h>
00008 #include <it_bus/api_defines.h>
00009 #include <it_bus/no_data_exception.h>
00010 
00011 namespace IT_Bus
00012 {
00020     class IT_BUS_API BinaryBufferNillable 
00021     {
00022       public:
00026         BinaryBufferNillable();
00027 
00031         BinaryBufferNillable(
00032             const BinaryBufferNillable& other
00033         );
00034 
00038         BinaryBufferNillable(
00039             const BinaryBuffer& other
00040         );
00041 
00045         virtual ~BinaryBufferNillable();
00046 
00050         BinaryBufferNillable&
00051         operator=(
00052             const BinaryBufferNillable& other
00053         );
00054 
00058         virtual Boolean
00059         is_nil() const;
00060 
00064         virtual void
00065         set_nil();
00066 
00071         virtual const IT_Bus::BinaryBuffer&
00072         get() const throw((NoDataException));
00073         
00078         virtual IT_Bus::BinaryBuffer&
00079         get() throw((NoDataException));
00080         
00084         virtual void
00085         set(
00086             const IT_Bus::BinaryBuffer& data
00087         );
00088 
00092         virtual void
00093         reset();
00094 
00095       private:
00096         Boolean              m_is_nil;
00097         IT_Bus::BinaryBuffer m_data;
00098     };
00099 }
00100 
00101 #endif  

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