/* $Revision: 1 $ $Date: 15/11/04 10:53 $ Copyright © 2004, FSL Technologies Limited. Contact "http://fost3.fsltech.com". */ #include "stdafx.h" #include "FOST.kpi.hpp" using namespace FSLib; namespace { Revision c_revision( L"$Archive: /FOST.3/F3Util/manager.log.cpp $", __DATE__, L"$Revision: 1 $", L"$Date: 15/11/04 10:53 $" ); } /* Managers */ namespace { const class LogStart : public Process::Manager { public: LogStart() : Process::Manager( L"Log start" ) {} void start( const Process::Task &tick ) const { YAML::Record log; log.add( L"Task status", L"Start" ); log.add( L"Position", tick.position() ); log.add( L"Reference", tick.reference() ); log.add( L"Duration", tick.during() ); log.add( L"Work unit", tick.workUnit() ); log.log(); } void done( const Process::Task & ) const {} void complete( const Process::Task & ) const {} } c_logStart; const class LogDone : public Process::Manager { public: LogDone() : Process::Manager( L"Log partial" ) {} void start( const Process::Task & ) const {} void done( const Process::Task &tick ) const { YAML::Record log; log.add( L"Task status", L"Partial" ); log.add( L"Position", tick.position() ); log.add( L"Reference", tick.reference() ); log.add( L"Duration", tick.during() ); log.add( L"Work unit", tick.workUnit() ); if ( !tick.work().isnull() ) { log.add( L"Total to do", tick.work() ); log.add( L"Done", tick.done() ); log.add( L"ETA", tick.eta() ); } else { log.add( L"Done", tick.done() ); } std::pair< double, Process::Task::t_time > r = tick.rate(); log.add( L"Rate", L"{ " + toString( r.first ) + L", " + toString( r.second ) + L" }" ); log.log(); } void complete( const Process::Task & ) const {} } c_logDone; const class LogComplete : public Process::Manager { public: LogComplete() : Process::Manager( L"Log complete" ) {} void start( const Process::Task & ) const {} void done( const Process::Task & ) const {} void complete( const Process::Task &tick ) const { YAML::Record log; log.add( L"Task status", L"Complete" ); log.add( L"Position", tick.position() ); log.add( L"Reference", tick.reference() ); log.add( L"Duration", tick.during() ); log.add( L"Work unit", tick.workUnit() ); if ( !tick.work().isnull() ) log.add( L"Total to do", tick.work() ); log.add( L"Done", tick.done() ); std::pair< double, Process::Task::t_time > r = tick.rate(); log.add( L"Rate", L"{ " + toString( r.first ) + L", " + toString( r.second ) + L" }" ); log.log(); } } c_logComplete; } /* $History: manager.log.cpp $ * * ***************** Version 1 ***************** * User: Kirit Date: 15/11/04 Time: 10:53 * Created in $/FOST.3/F3Util * Moved managers into a seperate file. */