00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef _C_LOGSTATCONTROL_H
00021 #define _C_LOGSTATCONTROL_H
00022 
00023 #include "C_SemaphoreTimed.hpp"
00024 #include "C_GeneratorStats.hpp"
00025 #include "C_TaskControl.hpp"
00026 #include "string_t.hpp"
00027 
00028 
00029 class C_LogStatControl : public C_TaskControl {
00030 
00031  public:
00032 
00033   C_LogStatControl() ;
00034   ~C_LogStatControl() ;
00035 
00036   void  init (unsigned long P_period, string_t& P_fileName);
00037   void  reset_cumul_counters ();
00038   
00039   void activate_percent_traffic () ;
00040 
00041   private :
00042 
00043     C_GeneratorStats *m_stat;
00044     C_SemaphoreTimed *m_sem ;
00045 
00046     T_GeneratorError TaskProcedure () ;
00047     T_GeneratorError InitProcedure () ;
00048     T_GeneratorError EndProcedure () ;
00049     T_GeneratorError StoppingProcedure () ;
00050     T_GeneratorError ForcedStoppingProcedure () ;
00051 
00052 } ;
00053 
00054 #endif // _C_LOGGINGCONTROLLER_H