it_bus/reflect/nillable.h

00001 #ifndef _IT_REFLECT_NILLABLE_H_
00002 #define _IT_REFLECT_NILLABLE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 #include <it_bus/reflect/reflection.h>
00007 
00008 namespace IT_Reflect
00009 {
00013     class IT_AFC_API Nillable : public virtual IT_Reflect::Reflection
00014     {
00015       public:
00019         Nillable() throw(());
00020 
00024         virtual ~Nillable() throw(());
00025 
00031         virtual IT_Bus::Boolean
00032         get_is_nil() const throw((ReflectException)) = 0;
00033 
00039         virtual void
00040         set_is_nil() throw((ReflectException)) = 0;
00041         
00047         virtual const Reflection*
00048         get_value() const throw((ReflectException)) = 0;
00049 
00056         virtual Reflection*
00057         use_value() throw((ReflectException)) = 0;
00058         
00059       private:
00060         // private and unimplemented to prevent copying
00061         Nillable(const Nillable&);
00062         void operator=(const Nillable&);
00063     };
00064 }
00065 
00066 
00067 #endif  

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