|
uniset-algorithms
0.2
|
00001 // ------------------------------------------------------------------------- 00002 #ifndef AutomatMessages_H_ 00003 #define AutomatMessages_H_ 00004 // ------------------------------------------------------------------------- 00005 #include "UniSetAlgorithmsMessages.h" 00006 // ------------------------------------------------------------------------- 00008 class AutomatMessage: 00009 public UniSetAlgorithms::UniSetAlgorithmsMessage 00010 { 00011 public: 00012 00013 static const int MessageTypeID = UniSetAlgorithms::UniSetAlgorithmsMessage::AutomatInfo; 00014 00015 enum Events 00016 { 00017 Protection, 00018 ChangeMode, 00019 Command, 00020 CommandNotComplete 00021 }; 00022 00023 enum AutomatMode 00024 { 00025 OffMode, 00026 OnMode, 00027 SleepMode, 00028 OffOnlyMode 00029 }; 00030 00031 enum Commands 00032 { 00033 OnSync, 00034 On, 00035 Off, 00036 Reset, 00037 OffControl, 00038 OnControl 00039 }; 00040 00041 AutomatMessage( UniSetTypes::ObjectId id, Events ev, int inf, 00042 Message::Priority p = Message::Medium): 00043 evnt(ev), 00044 inf(inf), 00045 id(id), 00046 errcode(UniSetTypes::DefaultMessageCode) 00047 { 00048 type = AutomatMessage::MessageTypeID; 00049 priority = p; 00050 } 00051 00052 AutomatMessage(const UniSetTypes::VoidMessage *msg) 00053 { 00054 memcpy(this,msg,sizeof(*this)); 00055 assert(this->type == AutomatMessage::MessageTypeID ); 00056 } 00057 00058 inline UniSetTypes::TransportMessage transport_msg() const 00059 { 00060 return transport(*this); 00061 } 00062 00063 Events evnt; 00064 int inf; 00065 UniSetTypes::ObjectId id; 00066 // в случае неудачного выполнения команды 00067 // здесь можно указать причину 00068 UniSetTypes::MessageCode errcode; 00069 }; 00070 // ------------------------------------------------------------------------- 00071 #endif // AutomatMessages_H_
1.7.6.1