it_bus/reflect/element_list_impl_base.h

00001 #ifndef _IT_REFLECT_ELEMENT_LIST_IMPL_BASE_H_
00002 #define _IT_REFLECT_ELEMENT_LIST_IMPL_BASE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/reflect/element_list.h>
00008 #include <it_bus/min_max_list.h>
00009 
00010 namespace IT_Reflect
00011 {
00016     class IT_AFC_API ElementListImplBase : public virtual ElementList
00017     {
00018       public:
00022         ElementListImplBase() throw(());
00023         
00027         virtual ~ElementListImplBase() throw(());
00028         
00029         virtual size_t
00030         get_list_max_occurs() const throw(());
00031         
00032         virtual size_t
00033         get_list_min_occurs() const throw(());
00034         
00035         virtual size_t
00036         get_list_size() const throw(());
00037 
00038         virtual void
00039         set_list_size(
00040             size_t size
00041         ) throw((ReflectException));
00042 
00043         virtual const Reflection*
00044         get_element(
00045             size_t index
00046         ) const throw((ReflectException));
00047 
00048         virtual Reflection*
00049         use_element(
00050             size_t index
00051         ) throw((ReflectException));
00052 
00053       protected:
00058         virtual IT_Bus::MinMaxList&
00059         get_list() const throw(()) = 0;
00060 
00066         virtual Reflection*
00067         get_reflection(
00068             size_t index
00069         ) const throw((ReflectException)) = 0;
00070     };
00071 }
00072         
00073 
00074 #endif  

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