00001 #ifndef Impala_Core_Database_PathCreator_h 00002 #define Impala_Core_Database_PathCreator_h 00003 00004 #include "Core/Database/RawDataSet.h" 00005 00006 namespace Impala 00007 { 00008 namespace Core 00009 { 00010 namespace Database 00011 { 00012 00013 00025 class PathCreator 00026 { 00027 public: 00028 virtual String 00029 GetFilePathSimilarityData(String filename, bool toWrite=false, 00030 bool silent=false) = 0; 00031 00032 virtual String 00033 GetFilePathFeatureData(bool toWrite=false, bool silent=false) = 0; 00034 00035 virtual RawDataSet* 00036 GetDataSet() = 0; 00037 00038 virtual int 00039 GetFolderOrVideoId() = 0; 00040 00041 #ifndef REPOSITORY_USED // Here comes the deprecated stuff 00042 Util::Database* 00043 GetDatabase() 00044 { 00045 RawDataSet* set = GetDataSet(); 00046 if(set == 0) 00047 ILOG_ERROR("GetDatabase: set == 0, this=" << (void*) this); 00048 return set->GetDatabase(); 00049 } 00050 #endif // REPOSITORY_USED 00051 00052 PathCreator* 00053 SetModel(String s) 00054 { 00055 mModel = s; 00056 return this; 00057 } 00058 00059 PathCreator* 00060 SetFeature(String s) 00061 { 00062 mFeature = s; 00063 return this; 00064 } 00065 00066 PathCreator* 00067 SetConceptSet(String s) 00068 { 00069 mConceptSet = s; 00070 return this; 00071 } 00072 00073 void 00074 SetWalkType(String walkType) 00075 { 00076 mWalkType = walkType; 00077 } 00078 00079 String 00080 GetWalkType() 00081 { 00082 return mWalkType; 00083 } 00084 00085 protected: 00086 String mConceptSet; 00087 String mModel; 00088 String mFeature; 00089 String mWalkType; 00090 00091 private: 00092 ILOG_VAR_DEC; 00093 }; 00094 00095 ILOG_VAR_INIT(PathCreator, Impala.Core.Database); 00096 00097 } // namespace Database 00098 } // namespace Core 00099 } // namespace Impala 00100 00101 #endif