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 CoolingMode
00031 };
00032
00034 enum SEESMode
00035 {
00036 OffMode,
00037 OnMode,
00038 ReservMode,
00039 AutoMode,
00040 SleepMode,
00041 RunningMode,
00042 ProtectionMode,
00043 InitMode,
00044 UdefinedMode,
00045 WaitingMode,
00046 AutoWaitingMode,
00047 AcceptWaitMode,
00048 QGOnWaitingMode,
00049 QGOffWaitingMode,
00050 DieselOffMode
00051 };
00052
00053 SEESMessage(Events ev, int inf, int num, int gnum, Message::Priority p = Message::Medium):
00054 evnt(ev),inf(inf),num(num),gnum(gnum),
00055 errcode(UniSetTypes::DefaultMessageCode)
00056 {
00057 type = SEESMessage::MessageTypeID;
00058 priority = p;
00059 }
00060
00061 SEESMessage(const UniSetTypes::VoidMessage *msg)
00062 {
00063 memcpy(this,msg,sizeof(*this));
00064 assert(this->type == SEESMessage::MessageTypeID );
00065 }
00066
00067 inline UniSetTypes::TransportMessage transport_msg() const
00068 {
00069 return transport(*this);
00070 }
00071
00072 Events evnt;
00073 int inf;
00074 int num;
00075 int gnum;
00076
00077
00078 UniSetTypes::MessageCode errcode;
00079 };
00080
00081 #endif // SEESMessages_H_