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

VideoSet* Impala::Persistency::VideoSetRepositoryInFile::Get ( const Locator loc  )  [inline]

Definition at line 32 of file VideoSetRepositoryInFile.h.

References Impala::Core::Database::RawDataSet::AddFile(), Impala::Util::StringParser::At(), Impala::Util::IOBuffer::Available(), Impala::Util::StringParser::Eat(), Impala::Persistency::Locator::GetDataSet(), Impala::Persistency::RepositoryInFileSystem::GetFile(), Impala::Util::StringParser::GetInt(), Impala::Persistency::Locator::GetProtocolAndHost(), Impala::Persistency::File::GetReadBuffer(), Impala::Util::StringParser::GetString2(), Impala::Util::IOBuffer::ReadLine(), RepFS(), Impala::Core::Database::RawDataSet::SetProtocolAndHost(), Impala::StringReplaceAll(), Impala::Util::StringParser::TheEnd(), and Impala::Util::IOBuffer::Valid().

00033     {
00034         VideoSet* res = new VideoSet(loc.GetDataSet());
00035         res->SetProtocolAndHost(loc.GetProtocolAndHost());
00036         File f = RepFS().GetFile(loc, "VideoData", loc.GetDataSet(), false,
00037                                  false);
00038         Timer timer(1);
00039         Util::IOBuffer* buf = f.GetReadBuffer(true, "");
00040         if (buf->Valid())
00041         {
00042             while (buf->Available())
00043             {
00044                 String line = buf->ReadLine();
00045                 if (line[0] && (line[0] != '#'))
00046                 {
00047                     int id = -1;
00048                     String name("");
00049                     Util::StringParser p(line);
00050                     while (!p.TheEnd())
00051                     {
00052                         if (p.At("<id="))
00053                         {
00054                             p.Eat('=');
00055                             id = p.GetInt('>', true);
00056                             p.Eat('>');
00057                         }
00058                         else
00059                         {
00060                             String s = p.GetString2(false);
00061                             name = StringReplaceAll(s, "\\", "/");
00062                         }
00063                     }
00064                     res->AddFile(name, id);
00065                 }
00066             }
00067         }
00068         delete buf;
00069         return res;
00070     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:23:53 2011 for ImpalaSrc by  doxygen 1.5.1