00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freMediaBridgeController_h
00023 #define __freMediaBridgeController_h
00024
00025 #include "freMediaContainerControllerBase.h"
00026 #include "freMediaContainer.h"
00027
00028 namespace FREE
00029 {
00030
00031 freControllerIDMacro(MediaBridgeController, "Media Bridge");
00032
00038 class MediaBridgeController : public MediaContainerControllerBase< MediaContainer >
00039 {
00040 public:
00041 typedef MediaContainer ComponentType;
00042 typedef MediaContainerControllerBase<MediaContainer> Superclass;
00043
00044 itkTypeMacro(MediaBridgeController, MediaContainerControllerBase);
00045
00046 MediaBridgeController();
00047
00048 virtual ValidityTag::Pointer GetMediaValidityTag(const MediaID& mediaID, SessionComponentCache* pComponentCache) const;
00049
00050 virtual ValidityTag::Pointer GetMediaValidityTagRequirement(const MediaID& mediaID, SessionComponentCache* pComponentCache) const;
00051
00052 virtual std::string GetMediaControllerID(const MediaID& mediaID, SessionComponentCache* pComponentCache) const;
00053
00054 protected:
00055
00056 virtual void SetMediaCasted(const MediaID& mediaID, GenericMediaType* pMedia,
00057 ComponentType* pComponent,
00058 SessionComponentCache* pComponentCache,
00059 SessionInfo* pSessionInfo) const;
00060
00061 virtual GenericMediaPointer GetMediaCasted(const MediaID& mediaID,
00062 ComponentType* pComponent,
00063 SessionComponentCache* pComponentCache,
00064 SessionInfo* pSessionInfo) const;
00065 };
00066
00067 }
00068
00069 #endif