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

int Impala::Core::VideoJob::Manager::MonitorJobs (  )  [inline, private]

Definition at line 256 of file Manager.h.

References Impala::Core::VideoJob::ServerProxy::GetJobState(), JobDone(), mData, mJobServer, Impala::Core::VideoJob::Data::mJobsScheduled, Impala::Core::VideoJob::ServerProxy::MonitorJobState(), Impala::Job::State::TERMINATED_ABNRM, Impala::Job::State::TERMINATED_NRM, and Impala::Job::State::UNDEFINED.

Referenced by Start().

00257     {
00258         int nrOfJobsCompleted = 0;
00259         std::map<int, JobStateType>& updatedJobs =
00260             mJobServer->MonitorJobState(mData);
00261         if (updatedJobs.empty()) // SK: lousy trick
00262             return -1;
00263         std::map<int, JobStateType>::iterator iter = updatedJobs.begin();
00264         for ( ; iter != updatedJobs.end(); iter++ )
00265         {
00266             int jobId = iter->first;
00267             JobStateType newState = iter->second;
00268             VideoJob* job = mData.mJobsScheduled[jobId];
00269             if (newState == Job::State::TERMINATED_NRM ||
00270                 newState == Job::State::TERMINATED_ABNRM)
00271             {
00272                 JobStateType dummy = Job::State::UNDEFINED;
00273                 int exitCode = -99;
00274                 String errorLog;
00275                 int rc = mJobServer->GetJobState(jobId, dummy, exitCode, errorLog);
00276                 if (rc != 0)
00277                     return -2;
00278                 JobDone(mData.mJobsScheduled[jobId], newState, exitCode);
00279                 nrOfJobsCompleted++;
00280             }
00281             else
00282             {
00283                 job->state = newState;
00284             }
00285         }
00286         return nrOfJobsCompleted;
00287     }

Here is the call graph for this function:


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