00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef _C_KEYBOARDCONTROL_H
00021 #define _C_KEYBOARDCONTROL_H
00022 
00023 #include "C_SemaphoreTimed.hpp"
00024 #include "C_GeneratorStats.hpp"
00025 #include "C_TaskControl.hpp"
00026 
00027 #include <termios.h>
00028 
00029 class C_Generator ; 
00030 
00031 class C_KeyboardControl : public C_TaskControl {
00032 
00033 public:
00034   
00035   C_KeyboardControl() ;
00036   ~C_KeyboardControl() ;
00037   
00038   void init(C_Generator *P_gen) ;
00039   void force_end_procedure () ;
00040 
00041 private :
00042 
00043   struct termios    m_saved_conf      ;
00044   struct termios    m_controller_conf ;
00045   C_Generator      *m_gen ;
00046 
00047   T_GeneratorError TaskProcedure () ;
00048   T_GeneratorError InitProcedure () ;
00049   T_GeneratorError EndProcedure () ;
00050   T_GeneratorError StoppingProcedure () ;
00051   T_GeneratorError ForcedStoppingProcedure () ;
00052 
00053   void execute_cmd (char P_char) ;
00054   void analyze_cmd (char *P_cmd);
00055 
00056   void init_controller_configuration () ;
00057   void controller_configuration () ;
00058   void system_configuration () ;
00059   
00060 } ;
00061 
00062 #endif // _C_KEYBOARDCONTROL_H
00063 
00064 
00065 
00066 
00067 
00068