|
uniset-algorithms
0.2
|
00001 // ------------------------------------------------------------------------- 00002 #ifndef SEESMessages_H_ 00003 #define SEESMessages_H_ 00004 // ------------------------------------------------------------------------- 00005 #include "UniSetAlgorithmsMessages.h" 00006 // ------------------------------------------------------------------------- 00008 class SEESMessage: 00009 public UniSetAlgorithms::UniSetAlgorithmsMessage 00010 { 00011 public: 00012 00013 static const int MessageTypeID = UniSetAlgorithmsMessage::SEESInfo; 00014 00016 enum Events 00017 { 00018 Protection, 00019 ChangeMode, 00020 Overload95, 00021 Overload20, 00022 Overload105, 00023 Fault, 00024 CommandNotComplete, 00025 NeedOnReserv, 00026 NeedOffReserv, 00027 CheckReservInfo, 00028 CheckReservCmd, 00029 DieselChangeMode 00030 }; 00031 00033 enum SEESMode 00034 { 00035 OffMode, 00036 OnMode, 00037 ReservMode, 00038 AutoMode, 00039 SleepMode, 00040 RunningMode, 00041 ProtectionMode, 00042 InitMode, 00043 UdefinedMode, 00044 WaitingMode, 00045 AutoWaitingMode, 00046 AcceptWaitMode, 00047 QGOnWaitingMode, 00048 QGOffWaitingMode, 00049 DieselOffMode 00050 }; 00051 00052 SEESMessage(Events ev, int inf, int num, int gnum, Message::Priority p = Message::Medium): 00053 evnt(ev),inf(inf),num(num),gnum(gnum), 00054 errcode(UniSetTypes::DefaultMessageCode) 00055 { 00056 type = SEESMessage::MessageTypeID; 00057 priority = p; 00058 } 00059 00060 SEESMessage(const UniSetTypes::VoidMessage *msg) 00061 { 00062 memcpy(this,msg,sizeof(*this)); 00063 assert(this->type == SEESMessage::MessageTypeID ); 00064 } 00065 00066 inline UniSetTypes::TransportMessage transport_msg() const 00067 { 00068 return transport(*this); 00069 } 00070 00071 Events evnt; 00072 int inf; 00073 int num; 00074 int gnum; 00075 // в случае неудачного выполнения команды 00076 // здесь можно указать причину 00077 UniSetTypes::MessageCode errcode; 00078 }; 00079 // ------------------------------------------------------------------------- 00080 #endif // SEESMessages_H_
1.7.6.1