msgSender.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * @Brief     Messages sender. Alloc send buffer here and manager it.
00003  * @Version   0.3.0
00004  * @Author    Chris Liu
00005  * @Created   2015/10/30
00006  * @Modified  2015/12/16
00007  *****************************************************************************/
00008 
00009 #ifndef _DJI2MAV_MSGSENDER_H_
00010 #define _DJI2MAV_MSGSENDER_H_
00011 
00012 
00013 #include <string>
00014 #include <new>
00015 
00016 #include "socketComm.h"
00017 #include "log.h"
00018 
00019 namespace dji2mav {
00020 
00021     class MsgSender {
00022         public:
00023             MsgSender(uint16_t bufSize) : m_bufSize(bufSize) {
00024 
00025                 DJI2MAV_DEBUG("Going to construct MsgSender...");
00026 
00027                 try {
00028                     m_sendBuf = new uint8_t[m_bufSize];
00029                     memset(m_sendBuf, 0, m_bufSize * sizeof(uint8_t));
00030                 } catch(std::bad_alloc &m) {
00031                     DJI2MAV_FATAL( "Fail to alloc memory for MsgSender buf! " 
00032                             "Exception: %s!", m.what() );
00033                     exit(EXIT_FAILURE);
00034                 }
00035 
00036                 DJI2MAV_DEBUG("...finish constructing MsgSender.");
00037 
00038             }
00039 
00040 
00041             ~MsgSender() {
00042                 DJI2MAV_DEBUG("Going to destruct MsgSender...");
00043                 delete []m_sendBuf;
00044                 m_sendBuf = NULL;
00045                 DJI2MAV_DEBUG("...finish destructing MsgSender.");
00046             }
00047 
00048 
00049             inline uint16_t getBufSize() {
00050                 return m_bufSize;
00051             }
00052 
00053 
00054             inline uint8_t* getBuf() {
00055                 return m_sendBuf;
00056             }
00057 
00058 
00059             inline int send(SocketComm* comm_p, uint16_t len) {
00060                 return comm_p->send(m_sendBuf, len);
00061             }
00062 
00063 
00064         private:
00065             uint8_t* m_sendBuf;
00066             uint16_t m_bufSize;
00067     };
00068 
00069 } //namespace dji2mav
00070 
00071 
00072 #endif


dji_sdk_dji2mav
Author(s):
autogenerated on Thu Jun 6 2019 17:55:35