00001 #ifndef Impala_Persistency_StillsRepository_h 00002 #define Impala_Persistency_StillsRepository_h 00003 00004 #include "Persistency/RepositoryDispatcher.h" 00005 #include "Persistency/StillsRepositoryInFile.h" 00006 #include "Persistency/RepositoryNotImplemented.h" 00007 00008 namespace Impala 00009 { 00010 namespace Persistency 00011 { 00012 00013 00014 class StillsRepository 00015 : public RepositoryDispatcher<StillsLocator, 00016 Core::VideoSet::Stills, 00017 StillsRepositoryInFile, 00018 RepositoryNotImplemented<Core::VideoSet::Stills> > 00019 { 00020 public: 00021 00022 /* Needs an alternative Get since Stills constructor requires vidSet 00023 */ 00024 Core::VideoSet::Stills* 00025 Get(const StillsLocator& loc, Core::VideoSet::VideoSet* vidSet) 00026 { 00027 String protocol = loc.GetProtocol(); 00028 if ((protocol == "file") || (protocol == "dataServer")) 00029 { 00030 return mRepFile.Get(loc, vidSet); 00031 } 00032 ILOG_ERROR("Get: unknown protocol: " << loc.GetProtocol()); 00033 return 0; 00034 } 00035 00036 }; 00037 00038 } // namespace Persistency 00039 } // namespace Impala 00040 00041 #endif