00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef _CPP_C_DATALOGRTDISTRIB_H_
00021 #define _CPP_C_DATALOGRTDISTRIB_H_
00022 
00023 
00024 
00025 
00026 
00027 #include "C_DataLogControl.hpp"
00028 
00029 
00030 class C_DataLogRTDistrib : public C_DataLogControl {
00031 
00032 public:
00033 
00034   C_DataLogRTDistrib(size_t         P_max_data,
00035                      size_t         P_max_data_log,
00036                      char          *P_file_name, 
00037                      unsigned long  P_period,
00038                      unsigned long  P_rtdistrib);
00039   ~C_DataLogRTDistrib();
00040 
00041   int data (double P_time, double P_value);
00042   int data (char *P_data);
00043   void do_log () ;
00044   void do_log_cumul () ;
00045 
00046 
00047 private:
00048   unsigned long     m_rtdistrib ; 
00049   unsigned long    *m_p_rt_distrib     ;
00050   unsigned long    *m_c_rt_distrib     ;
00051 
00052   unsigned long     m_p_min_rt_distrib ; 
00053   unsigned long     m_p_max_rt_distrib ;
00054   unsigned long     m_c_min_rt_distrib ;
00055   unsigned long     m_c_max_rt_distrib ;
00056   unsigned long     m_counter_rt       ;
00057 
00058   C_Semaphore      *m_sem_rt ; 
00059 
00060 } ;
00061 
00062 
00063 #endif // _CPP_C_DATALOGRTDISTRIB_H_
00064 
00065 
00066 
00067