template<class BackInsertIterator>
Definition at line 63 of file DatabaseReadVxRectangle.h. References Impala::Util::StringParser::At(), Impala::Util::IOBuffer::Available(), Impala::Util::StringParser::Contains(), Impala::FileNameExt(), Impala::Util::StringParser::GetInt(), Impala::Persistency::File::GetReadBuffer(), Impala::Util::StringParser::GetRectangle(), Impala::Util::StringParser::GetString(), Impala::Core::Geometry::VxRectangle::mAnno, Impala::Core::Geometry::VxRectangle::mDir, Impala::Core::Geometry::VxRectangle::mEndFrame, Impala::Core::Geometry::VxRectangle::mExtra, Impala::Core::Geometry::VxRectangle::mRect, Impala::Core::Geometry::VxRectangle::mSection, Impala::Core::Geometry::VxRectangle::mStartFrame, Impala::Core::Geometry::VxRectangle::mVideoName, Impala::Util::IOBuffer::ReadLine(), and Impala::Util::StringParser::TheEnd(). Referenced by Impala::Core::VideoSet::Walker::LoadBookmarks(). 00065 { 00066 typedef Persistency::RepositoryInFileSystem FS; 00067 Persistency::File file = FS::GetInstance().GetFile(loc, false, false); 00068 Util::IOBuffer* buf = file.GetReadBuffer(true, "");; 00069 if (! buf) 00070 return; 00071 00072 bool hasSection = false; 00073 while (buf->Available()) 00074 { 00075 String line = buf->ReadLine(); 00076 if (! line[0]) 00077 continue; 00078 Util::StringParser p(line); 00079 if (p.At("#@") && (p.Contains("section"))) 00080 hasSection = true; 00081 if (p.At("#")) 00082 continue; 00083 VxRectangle vr; 00084 vr.mStartFrame = p.GetInt(); 00085 vr.mEndFrame = p.GetInt(); 00086 vr.mAnno = p.GetString(); 00087 vr.mRect = p.GetRectangle(); 00088 vr.mVideoName = p.GetString(); 00089 if (hasSection) 00090 { 00091 vr.mSection = p.GetString(); 00092 vr.mDir = p.GetString(); 00093 } 00094 else 00095 if (FileNameExt(vr.mVideoName) == "") 00096 vr.mVideoName = vr.mVideoName + ".mpg"; 00097 if (! p.TheEnd()) 00098 vr.mExtra = p.GetString(); 00099 *bi++ = vr; 00100 } 00101 delete buf; 00102 }
Here is the call graph for this function:
|