Orocos Real-Time Toolkit  2.6.0
MemberFactory.hpp
00001 #ifndef ORO_MEMBER_FACTORY_HPP
00002 #define ORO_MEMBER_FACTORY_HPP
00003 
00004 #include "../base/DataSourceBase.hpp"
00005 #include "../rtt-config.h"
00006 #include "../internal/Reference.hpp"
00007 #include <vector>
00008 #include <string>
00009 
00010 namespace RTT
00011 {
00012     namespace types
00013     {
00014 
00015         class RTT_API MemberFactory
00016         {
00017         public:
00028         virtual bool resize(base::DataSourceBase::shared_ptr arg, int size) const;
00029 
00034         virtual std::vector<std::string> getMemberNames() const;
00035 
00043         virtual base::DataSourceBase::shared_ptr getMember(base::DataSourceBase::shared_ptr item, const std::string& name) const;
00044 
00056         virtual base::DataSourceBase::shared_ptr getMember(base::DataSourceBase::shared_ptr item,
00057                                                            base::DataSourceBase::shared_ptr id) const;
00058 
00059 
00069         virtual bool getMember(internal::Reference* ref, base::DataSourceBase::shared_ptr item, const std::string& name) const;
00071         };
00072 
00073         typedef boost::shared_ptr<MemberFactory> MemberFactoryPtr;
00074     }
00075 }
00076 #endif