00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freStoreableMediaControllerBase_h
00023 #define __freStoreableMediaControllerBase_h
00024
00025 #include "freMediaControllerBase.h"
00026 #include "freStoreableMediaControllerInterface.h"
00027
00028 namespace FREE
00029 {
00030
00031 freControllerIDMacro(StoreableMediaControllerBase, "StorableMediaBase");
00032
00039 template <class TMedia>
00040 class StoreableMediaControllerBase : public MediaControllerBase< TMedia >,
00041 public StoreableMediaControllerInterface
00042 {
00043 public:
00044 typedef TMedia ComponentType;
00045 typedef MediaControllerBase<TMedia> Superclass;
00046
00047 typedef typename ComponentType::Pointer ComponentPointer;
00048 typedef typename Superclass::GenericComponentType GenericComponentType;
00049 typedef typename Superclass::GenericComponentPointer GenericComponentPointer;
00050 typedef typename Superclass::GenericMediaType GenericMediaType;
00051 typedef typename Superclass::GenericMediaPointer GenericMediaPointer;
00052
00053 itkTypeMacro(StoreableMediaControllerBase, MediaControllerBase);
00054
00055 StoreableMediaControllerBase();
00056
00061 virtual bool SaveMedia(std::string sMediaPath, GenericMediaType* pMedia) const;
00062
00070 virtual bool SaveMedia(SessionComponentCache* pCache) const;
00071
00072 virtual void SetMediaFile(const std::string& sMediaFile, SessionComponentCache* pCache) const;
00073 virtual std::string GetMediaFile(SessionComponentCache* pCache) const;
00074
00075 protected:
00076
00077 virtual void SetStatisticEntryMainComponent(StatisticEntry& rStatisticEntry,
00078 ComponentType* pMainComponent,
00079 SessionComponentCache* pMainComponentCache,
00080 SessionInfo* pSessionInfo,
00081 StatisticDictionary& rDictionary) const;
00082
00083 virtual void GenerateProfile(CtrlProfile::ControllerProfile& profile,
00084 const SessionComponentCache* pComponentCache,
00085 bool bRegardOldSetup) const;
00086 };
00087
00088
00089 typedef StoreableMediaControllerInterface GenericStoreableMediaController;
00090
00091 }
00092
00093 #ifndef ITK_MANUAL_INSTANTIATION
00094 #include "freStoreableMediaControllerBase.txx"
00095 #endif
00096
00097 #endif