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

Util::IOBuffer* Impala::Core::Stream::RgbDataSrcInfo::GetInfoIOBuffer ( bool  toWrite,
bool  silent = true 
) const [inline, protected]

Definition at line 197 of file RgbDataSrcInfo.h.

References GetInfoFilePath(), Impala::Util::Database::GetIOBuffer(), Impala::Persistency::File::GetReadBuffer(), Impala::Persistency::File::GetWriteBuffer(), ILOG_DEBUG, ILOG_ERROR, mDb, mInfoPath, mLoc, and Impala::Util::IOBuffer::Valid().

Referenced by ReadInfo(), and WriteInfo().

00198     {
00199         String fname = GetInfoFilePath(toWrite, silent);
00200         if (fname.empty())
00201         {
00202             if (!silent)
00203                 ILOG_ERROR("Unable to determine info file name!");
00204             return 0;
00205         }
00206 
00207         //Util::IOBuffer* buf=db.GetIOBuffer(fname, !toWrite, false, "tmp");
00208         String tmpFile = (toWrite) ? "tmp" : "";
00209 #ifndef REPOSITORY_USED // Here comes the deprecated stuff
00210         Util::IOBuffer* buf = mDb->GetIOBuffer(fname, !toWrite, false, tmpFile);
00211 #else // REPOSITORY_USED
00212         typedef Persistency::RepositoryInFileSystem RepFS;
00213         Persistency::File file = RepFS::GetInstance().GetFile(mLoc, "", fname,
00214                                                               toWrite, false);
00215         Util::IOBuffer* buf = (toWrite) ? file.GetWriteBuffer()
00216                                         : file.GetReadBuffer();
00217 #endif // REPOSITORY_USED
00218 
00219         if(!buf)
00220         {
00221             ILOG_DEBUG("Invalid File! "<<mInfoPath);
00222             return 0;
00223         }
00224 
00225         if(!buf->Valid())
00226         {
00227             ILOG_DEBUG("Invalid File! "<<mInfoPath);
00228             delete buf;
00229             return 0;
00230         }
00231 
00232         return buf;
00233     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:20:31 2011 for ImpalaSrc by  doxygen 1.5.1