it_bus/reflect/element_list.h

00001 #ifndef _IT_REFLECT_ELEMENT_LIST_H_
00002 #define _IT_REFLECT_ELEMENT_LIST_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 ElementList : public virtual IT_Reflect::Reflection
00014     {
00015       public:
00016         static const size_t UNBOUNDED;
00017         
00021         ElementList() IT_THROW_DECL(());
00022 
00026         virtual ~ElementList() IT_THROW_DECL(());
00027 
00033         virtual size_t
00034         get_list_max_occurs() const IT_THROW_DECL((ReflectException)) = 0;
00035         
00041         virtual size_t
00042         get_list_min_occurs() const IT_THROW_DECL((ReflectException)) = 0;
00043         
00049         virtual size_t
00050         get_list_size() const IT_THROW_DECL((ReflectException)) = 0;
00051 
00058         virtual void
00059         set_list_size(
00060             size_t size
00061         ) IT_THROW_DECL((ReflectException)) = 0;
00062 
00070         virtual const Reflection*
00071         get_element(
00072             size_t index
00073         ) const IT_THROW_DECL((ReflectException)) = 0;
00074 
00082         virtual Reflection*
00083         use_element(
00084             size_t index
00085         ) IT_THROW_DECL((ReflectException)) = 0;
00086         
00087       private:
00088         // private and unimplemented to prevent copying
00089         ElementList(const ElementList&);
00090         void operator=(const ElementList&);
00091     };
00092 }
00093 
00094 
00095 #endif  

Generated on Thu Sep 7 11:38:52 2006 for Artix by  doxygen 1.4.7