it_bus/reflect/union_impl.h

00001 #ifndef _IT_REFLECT_UNION_IMPL_H_
00002 #define _IT_REFLECT_UNION_IMPL_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_dsa/vector.h>
00008 #include <it_bus/reflect/reflection.h>
00009 #include <it_bus/reflect/union.h>
00010 
00011 namespace IT_Bus
00012 {
00013     class SimpleTypeUnion;
00014 }
00015 
00016 namespace IT_Reflect
00017 {
00021     class IT_AFC_API UnionImpl : public virtual IT_Reflect::Union
00022     {
00023       public:
00027         UnionImpl(
00028             IT_Vector<IT_Bus::QName>& member_names
00029         ) throw(());
00030 
00034         virtual ~UnionImpl() throw(());
00035 
00041         virtual size_t
00042         get_member_count() const throw(());
00043 
00054         virtual const IT_Bus::QName&
00055         get_member_type(
00056             size_t index
00057         ) const throw((ReflectException));
00058         
00059       private:
00060         // private and unimplemented to prevent copying
00061         UnionImpl(const UnionImpl&);
00062         void operator=(const UnionImpl&);
00063 
00064         IT_Vector<IT_Bus::QName>& m_member_names;
00065     };
00066 }
00067 
00068 
00069 #endif  

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