Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

void Impala::Core::Database::RawDataSet::Init ( Util::Database db,
String  setName,
String  setFileName 
) [inline, protected]

Definition at line 890 of file RawDataSet.h.

References AddFile(), Impala::Util::StringParser::At(), Impala::Util::IOBuffer::Available(), Impala::Util::StringParser::Eat(), ExtractFileSectionDir(), Impala::FileNameBase(), Impala::Util::StringParser::GetInt(), Impala::Util::Database::GetIOBuffer(), Impala::Util::StringParser::GetString2(), ILOG_DEBUG, mDb, mHasFiles, mLastId, mLastKeyForWarning, mQuidClass, mSetFileName, mSetName, mSetNameBase, Impala::QUID_CLASS_UNKNOWN, Impala::Util::IOBuffer::ReadLine(), Impala::Timer::SplitTime(), Impala::StringReplaceAll(), Impala::Util::StringParser::TheEnd(), and Impala::Util::IOBuffer::Valid().

00891     {
00892         mLastKeyForWarning = -1;
00893         mDb = db;
00894         mSetName = setName;
00895         mSetNameBase = FileNameBase(mSetName);
00896         mSetFileName = setFileName;
00897         mHasFiles = false;
00898         mLastId = 0;
00899         if (mSetFileName == String(""))
00900             return;
00901         mQuidClass = QUID_CLASS_UNKNOWN;
00902         ILOG_DEBUG("opening data file " << mSetFileName);
00903         Timer timer(1);
00904         Util::IOBuffer* f = mDb->GetIOBuffer(mSetFileName, true, true, "");
00905         if (f->Valid())
00906         {
00907             while (f->Available())
00908             {
00909                 String line = f->ReadLine();
00910                 if (line[0] && (line[0] != '#'))
00911                 {
00912                     int id = -1;
00913                     String section(".");
00914                     String dir(".");
00915                     String file("");
00916                     Util::StringParser p(line);
00917                     while (!p.TheEnd())
00918                     {
00919                         if (p.At("<id="))
00920                         {
00921                             p.Eat('=');
00922                             id = p.GetInt('>', true);
00923                             p.Eat('>');
00924                         }
00925                         else
00926                         {
00927                             String s = p.GetString2(false);
00928                             s = StringReplaceAll(s, "\\", "/");
00929                             ExtractFileSectionDir(s, file, section, dir);
00930                         }
00931                     }
00932                     AddFile(file, section, dir, id);
00933                 }
00934             }
00935         }
00936         delete f;
00937         ILOG_DEBUG("done read file in " << timer.SplitTime());
00938     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:08:01 2010 for ImpalaSrc by  doxygen 1.5.1