|
UniSet
1.7.0
|
00001 00002 // -------------------------------------------------------------------------- 00003 /* 00004 DO NOT EDIT THIS FILE. IT IS AUTOGENERATED FILE. 00005 ALL YOUR CHANGES WILL BE LOST. 00006 00007 НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ. ЭТОТ ФАЙЛ СОЗДАН АВТОМАТИЧЕСКИ. 00008 ВСЕ ВАШИ ИЗМЕНЕНИЯ БУДУТ ПОТЕРЯНЫ. 00009 */ 00010 // -------------------------------------------------------------------------- 00011 // generate timestamp: 2013-12-10+04:00 00012 // ----------------------------------------------------------------------------- 00013 #ifndef UObject_SK_H_ 00014 #define UObject_SK_H_ 00015 // ----------------------------------------------------------------------------- 00016 #include <string> 00017 #include "UniSetObject.h" 00018 #include "LT_Object.h" 00019 #include "UniXML.h" 00020 #include "Trigger.h" 00021 #include "DebugStream.h" 00022 // ----------------------------------------------------------------------------- 00023 class UObject_SK: 00024 public UniSetObject, 00025 public LT_Object 00026 { 00027 public: 00028 UObject_SK( UniSetTypes::ObjectId id, xmlNode* node=UniSetTypes::conf->getNode("UObject"), const std::string& argprefix="" ); 00029 UObject_SK(); 00030 virtual ~UObject_SK(); 00031 00032 00033 00034 bool alarm( UniSetTypes::ObjectId sid, bool state ); 00035 bool getState( UniSetTypes::ObjectId sid ); 00036 long getValue( UniSetTypes::ObjectId sid ); 00037 void setValue( UniSetTypes::ObjectId sid, long value ); 00038 void setState( UniSetTypes::ObjectId sid, bool state ); 00039 void askState( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); 00040 void askValue( UniSetTypes::ObjectId sid, UniversalIO::UIOCommand, UniSetTypes::ObjectId node = UniSetTypes::conf->getLocalNode() ); 00041 void updateValues(); 00042 void setMsg( UniSetTypes::ObjectId code, bool state ); 00043 00044 00045 DebugStream dlog; 00046 void init_dlog(DebugStream& dlog); 00047 00048 00049 // Используемые идентификаторы 00050 00051 00052 // Используемые идентификаторы сообщений 00053 00054 00055 // Текущее значение и предыдущее значение 00056 00057 00058 // --- public variables --- 00059 00060 00061 // --- end of public variables --- 00062 00063 protected: 00064 // --- protected variables --- 00065 00066 00067 // ---- end of protected variables ---- 00068 00069 00070 virtual void callback(); 00071 virtual void processingMessage( UniSetTypes::VoidMessage* msg ); 00072 virtual void sysCommand( UniSetTypes::SystemMessage* sm ); 00073 virtual void askSensors( UniversalIO::UIOCommand cmd ){} 00074 virtual void sensorInfo( UniSetTypes::SensorMessage* sm ){} 00075 virtual void timerInfo( UniSetTypes::TimerMessage* tm ){} 00076 virtual void sigterm( int signo ); 00077 virtual bool activateObject(); 00078 virtual void testMode( bool state ); 00079 void updatePreviousValues(); 00080 void checkSensors(); 00081 void updateOutputs( bool force ); 00082 00083 void preAskSensors( UniversalIO::UIOCommand cmd ); 00084 void preSensorInfo( UniSetTypes::SensorMessage* sm ); 00085 void preTimerInfo( UniSetTypes::TimerMessage* tm ); 00086 void waitSM( int wait_msec, UniSetTypes::ObjectId testID = UniSetTypes::DefaultObjectId ); 00087 00088 void resetMsg(); 00089 Trigger trResetMsg; 00090 PassiveTimer ptResetMsg; 00091 int resetMsgTime; 00092 00093 // Выполнение очередного шага программы 00094 virtual void step()=0; 00095 00096 int sleep_msec; 00097 bool active; 00098 00099 UniSetTypes::ObjectId smTestID; 00101 // управление датчиком "сердцебиения" 00102 PassiveTimer ptHeartBeat; 00103 UniSetTypes::ObjectId idHeartBeat; 00104 int maxHeartBeat; 00106 xmlNode* confnode; 00108 int getIntProp(const std::string& name) { return UniSetTypes::conf->getIntProp(confnode, name); } 00110 inline const std::string getProp(const std::string& name) { return UniSetTypes::conf->getProp(confnode, name); } 00111 00112 int smReadyTimeout; 00113 bool activated; 00114 int activateTimeout; 00115 PassiveTimer ptStartUpTimeout; 00116 int askPause; 00118 IOController_i::SensorInfo si; 00119 00120 00121 private: 00122 00123 // --- private variables --- 00124 // --- end of private variables --- 00125 00126 00127 00128 bool end_private; // вспомогательное поле (для внутреннего использования при генерировании кода) 00129 }; 00130 00131 // ----------------------------------------------------------------------------- 00132 #endif // UObject_SK_H_
1.7.6.1