00001 class cdHeartbeat: public TimeStampedEvent<>, public PolymorphEvent { 00002 00003 public: 00004 mdDatagram dg; 00005 mdReply dgr; 00006 00007 cdHeartbeat() { 00008 00009 memset((void *)&dg,0,sizeof(mdReply)); 00010 dg.hdr.clientType = MDDEV_CD; 00011 dg.hdr.msgType = MDDG_HEARTBEAT; 00012 00013 }; 00014 00015 ~cdHeartbeat() {}; 00016 virtual void send() const { sendTypedEvent(*this); } 00017 00018 }; 00019 class cdIncoming: public TimeStampedEvent<>, public PolymorphEvent { 00020 00021 public: 00022 mdDatagram dg; 00023 boost::asio::ip::udp::endpoint ip; 00024 00025 cdIncoming(mdDGChannel &c) {dg = *(c.inProcess);} 00026 00027 virtual void send() const { sendTypedEvent(*this); } 00028 00029 }; 00030 class cdResponse: public TimeStampedEvent<>, public PolymorphEvent { 00031 public: 00032 bool ackIsNak; 00033 mdDatagram *incoming; 00034 mdDatagram *reply; 00035 boost::asio::ip::udp::endpoint ip; 00036 00037 virtual void send() const { sendTypedEvent(*this); } 00038 00039 }; 00040 class cdShutdown: public TimeStampedEvent<>, public PolymorphEvent { 00041 00042 public: 00043 virtual void send() const { sendTypedEvent(*this); } 00044 }; 00045 class cdTelemetryFrame: public TimeStampedEvent<>, public PolymorphEvent { 00046 00047 public: 00048 virtual void send() const { sendTypedEvent(*this); } 00049 }; 00050 class cdInteractiveCommand: public TimeStampedEvent<>, public PolymorphEvent { 00051 00052 public: 00053 virtual void send() const { sendTypedEvent(*this); } 00054 00055 };
1.5.6