00001 #ifndef Impala_Persistency_Mpeg7DocLocator_h
00002 #define Impala_Persistency_Mpeg7DocLocator_h
00003
00004 #include "Persistency/Locator.h"
00005
00006 namespace Impala
00007 {
00008 namespace Persistency
00009 {
00010
00011
00012 class Mpeg7DocLocator : public Locator
00013 {
00014 public:
00015
00016
00017 static const int MPEG7_PLAIN = 1;
00018 static const int MPEG7_SHOT = 2;
00019 static const int MPEG7_CONCEPT = 3;
00020 static const int MPEG7_ANNOTATION = 4;
00021 static const int MPEG7_FEATURE = 5;
00022
00023 Mpeg7DocLocator()
00024 {
00025 }
00026
00027 Mpeg7DocLocator(CString name)
00028 : Locator("file:", "dot")
00029 {
00030 mDocType = MPEG7_PLAIN;
00031 mContainer = "";
00032 mName = name;
00033 mFrameRateNum = 0;
00034 mFrameRateDen = 0;
00035 }
00036
00037 Mpeg7DocLocator(CString protocolAndHost, CString dataSet, int docType,
00038 CString container, CString name)
00039 : Locator(protocolAndHost, dataSet)
00040 {
00041 mDocType = docType;
00042 mContainer = container;
00043 mName = name;
00044 mFrameRateNum = 0;
00045 mFrameRateDen = 0;
00046 }
00047
00048 Mpeg7DocLocator(CString dataSet, int docType, CString container,
00049 CString name, CmdOptions& options)
00050 : Locator(dataSet, options)
00051 {
00052 mDocType = docType;
00053 mContainer = container;
00054 mName = name;
00055 mFrameRateNum = 0;
00056 mFrameRateDen = 0;
00057 }
00058
00059 Mpeg7DocLocator(const Locator& base, int docType, CString container,
00060 CString name)
00061 : Locator(base.GetProtocol(), base.GetHost(), base.GetDataSet())
00062 {
00063 mDocType = docType;
00064 mContainer = container;
00065 mName = name;
00066 mFrameRateNum = 0;
00067 mFrameRateDen = 0;
00068 }
00069
00070 virtual
00071 ~Mpeg7DocLocator()
00072 {
00073 }
00074
00075 int
00076 GetDocType() const
00077 {
00078 return mDocType;
00079 }
00080
00081 void
00082 SetDocType(int docType)
00083 {
00084 mDocType = docType;
00085 }
00086
00087 String
00088 GetContainer() const
00089 {
00090 return mContainer;
00091 }
00092
00093 void
00094 SetContainer(CString container)
00095 {
00096 mContainer = container;
00097 }
00098
00099 String
00100 GetName() const
00101 {
00102 return mName;
00103 }
00104
00105 void
00106 SetName(CString name)
00107 {
00108 mName = name;
00109 }
00110
00111 int
00112 GetFrameRateNum() const
00113 {
00114 return mFrameRateNum;
00115 }
00116
00117 void
00118 SetFrameRateNum(int num)
00119 {
00120 mFrameRateNum = num;
00121 }
00122
00123 int
00124 GetFrameRateDen() const
00125 {
00126 return mFrameRateDen;
00127 }
00128
00129 void
00130 SetFrameRateDen(int den)
00131 {
00132 mFrameRateDen = den;
00133 }
00134
00135 String
00136 ToString() const
00137 {
00138 return "Mpeg7DocLocator(" + GetProtocol() + "," + GetHost()
00139 + "," + GetDataSet() + "," + MakeString(GetDocType()) + ","
00140 + GetContainer() + "," + GetName() + ")";
00141 }
00142
00143 private:
00144
00145 int mDocType;
00146 String mContainer;
00147 String mName;
00148 int mFrameRateNum;
00149 int mFrameRateDen;
00150
00151 ILOG_VAR_DEC;
00152 };
00153
00154 ILOG_VAR_INIT(Mpeg7DocLocator, Impala.Persistency);
00155
00156 std::ostream&
00157 operator<< (std::ostream& os, const Mpeg7DocLocator& loc)
00158 {
00159 os << loc.ToString();
00160 return os;
00161 }
00162
00163 }
00164 }
00165
00166 #endif