ARPDAS_QNX6 1.0
DGcol.h
Go to the documentation of this file.
00001 #ifndef DGCOL_H_INCLUDED
00002 #define DGCOL_H_INCLUDED
00003 #include "DG_data.h"
00004 #include <list>
00005 
00006 /**
00007   TSCHK_CHECK: set if we need to make some sort of timestamp check
00008   TSCHK_REQUIRED: set if we have determined that we must issue a new timestamp
00009   TSCHK_RTIME: The check to be performed is based on a need to resynch with realtime
00010   TSCHK_IMPLICIT: The timestamp is required due to MFCtr rollover
00011  */
00012 #define TSCHK_RTIME 1
00013 #define TSCHK_IMPLICIT 2
00014 #define TSCHK_CHECK 4
00015 #define TSCHK_REQUIRED 8
00016 
00017 /**
00018  * collector is the portion of the collection processing that
00019  * is implemented in the tmpplib.
00020  */
00021 class collector : public data_generator {
00022   public:
00023     collector();
00024     virtual ~collector();
00025     void init();
00026     void event(enum dg_event evt);
00027     DG_data *receive(const char *name, void *data, int data_size, int synch);
00028   protected:
00029     void commit_tstamp( mfc_t MFCtr, time_t time );
00030     static unsigned short majf_row, minf_row;
00031     unsigned short next_minor_frame;
00032   private:
00033     std::list<DG_data *> data_clients;
00034 };
00035 
00036 /**
00037  * tmc_collector is the portion of the collection processing that
00038  * is implemented in source code generated by tmc (colmain.skel)
00039  */
00040 class tmc_collector : public collector {
00041   public:
00042     void service_row_timer();
00043     void init_senders();
00044     void event(enum dg_event evt);
00045   private:
00046     void ts_check(); // don't know how to get to this one from a timer
00047     short ts_checks;
00048     int rowlets;
00049 };
00050 
00051 #endif
00052 
00053 
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines