it_bus/reflect/model_group_impl.h

00001 #ifndef _IT_REFLECT_MODEL_GROUP_IMPL_T_H_
00002 #define _IT_REFLECT_MODEL_GROUP_IMPL_T_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 // DO NOT INCLUDE THIS HEADER
00007 // Only for use by generated code.
00008 // 
00009 
00010 #include <it_bus/reflect/model_group.h>
00011 #include <it_bus/reflect/bounds_exception.h>
00012 #include <it_dsa/vector.h>
00013 
00014 namespace IT_Reflect
00015 {
00020     class IT_AFC_API ModelGroupImpl : public virtual ModelGroup
00021     {
00022       public:
00026         ModelGroupImpl(
00027             IT_Vector<IT_Bus::QName>& element_names
00028         ) IT_THROW_DECL(());
00029 
00033         virtual ~ModelGroupImpl() IT_THROW_DECL(());
00034 
00035         virtual size_t
00036         get_element_count() const IT_THROW_DECL(());
00037 
00038         virtual const IT_Bus::QName&
00039         get_element_name(
00040             size_t i
00041         ) const IT_THROW_DECL(());
00042 
00043         virtual Reflection*
00044         use_element(
00045             size_t i
00046         ) IT_THROW_DECL((ReflectException));
00047 
00048         virtual Reflection*
00049         use_element(
00050             const IT_Bus::QName& element_name
00051         ) IT_THROW_DECL((ReflectException));
00052 
00053       protected:
00059         size_t
00060         find_element(
00061             const IT_Bus::QName& name
00062         ) const IT_THROW_DECL((ReflectException));
00063 
00064       private:
00065         IT_Vector<IT_Bus::QName>& m_element_names;
00066    };
00067 }
00068 
00069 #endif  

Generated on Thu Sep 7 11:39:00 2006 for Artix by  doxygen 1.4.7