メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ

RtcFactory.h

説明を見る。
00001 // -*- C++ -*-
00019 /*
00020  * $Log: RtcFactory.h,v $
00021  * Revision 1.2  2005/05/16 06:06:30  n-ando
00022  * - RtcFactoryBase, RtcFactoryCXX classes were DLL exported for Windows port.
00023  *
00024  * Revision 1.1.1.1  2005/05/12 09:06:18  n-ando
00025  * Public release.
00026  *
00027  *
00028  */
00029 
00030 #ifndef RtcFactory_h
00031 #define RtcFactory_h
00032 
00033 #include "rtm/RtcModuleProfile.h"
00034 
00035 
00036 namespace RTM 
00037 {
00038   class RtcBase;
00039   class RtcManager;
00059   class EXPORTS RtcFactoryBase
00060   {
00061   public:
00081     RtcFactoryBase(RtcModuleProfile profile)
00082       : m_Profile(profile), m_Number(-1) {};
00083         
00105     virtual RtcBase* create(RtcManager* mgr) = 0;
00106         
00128     virtual void destroy(RtcBase* comp) = 0;
00129         
00145     virtual RtcModuleProfile& profile() {return m_Profile;};
00146         
00162     virtual int& number() {return m_Number;};
00163         
00164   protected:
00172     RtcModuleProfile m_Profile;
00180         int m_Number;
00181   };
00182   
00183   
00184   
00204   class EXPORTS RtcFactoryCXX
00205     : public RtcFactoryBase
00206   {
00207   public:
00236     RtcFactoryCXX(RtcModuleProfile profile,
00237                                   RtcNewFunc new_func,
00238                                   RtcDeleteFunc delete_func);
00239         
00259     virtual RtcBase* create(RtcManager* mgr);
00260         
00280     virtual void destroy(RtcBase* comp);
00281         
00282   protected:
00290     RtcNewFunc m_New;
00291         
00299     RtcDeleteFunc m_Delete;
00300   };
00301 };
00302 
00303 
00304 #endif // RtcFactory_h

OpenRTMに対してMon Oct 23 17:41:15 2006に生成されました。  doxygen 1.4.1