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

bool Impala::Core::VideoJob::Manager::UpdateMaskFile ( bool  onlyIfChanged = true  )  [inline, private]

Definition at line 376 of file Manager.h.

References Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Util::Database::GetIOBuffer(), ILOG_ERROR, ILOG_INFO, Impala::Core::VideoJob::Data::IsValid(), mCurrentMask, mData, mMaskPath, mVideoSet, Impala::Core::VideoJob::Data::VideoSetSize(), and Impala::Util::IOBuffer::Write().

Referenced by EvaluateStage(), and Prepare().

00377     {
00378         std::ostringstream oss;
00379         for (int v = 0; v < mData.VideoSetSize(); v++)
00380             oss << (mData.IsValid(v) ? '1' : '0');
00381         String mask = oss.str();
00382         if (! (mask == mCurrentMask && onlyIfChanged) )
00383         {
00384             Util::Database* db = mVideoSet->GetDatabase();
00385             Util::IOBuffer* buffer = db->GetIOBuffer(mMaskPath, false, false,
00386                                                      "dummy_value");
00387             if (!buffer)
00388             {
00389                 ILOG_ERROR("Cannot write mask to '" << mMaskPath << "'");
00390                 return false;
00391             }
00392             buffer->Write(mask.c_str(), mask.size());
00393             buffer->Write("\n", 1);
00394             delete buffer;
00395             ILOG_INFO("Mask file updated");
00396             mCurrentMask = mask;
00397         }
00398         return true;
00399     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:27:46 2010 for ImpalaSrc by  doxygen 1.5.1