00001 00031 #ifndef CREATE_PACKET_H 00032 #define CREATE_PACKET_H 00033 00034 #include <boost/thread/mutex.hpp> 00035 00036 namespace create { 00037 class Packet { 00038 private: 00039 uint16_t data; 00040 uint16_t tmpData; 00041 mutable boost::mutex dataMutex; 00042 mutable boost::mutex tmpDataMutex; 00043 00044 public: 00045 const uint8_t nbytes; 00046 const std::string info; 00047 00048 Packet(const uint8_t& nbytes, const std::string& info); 00049 ~Packet(); 00050 00051 // All of the following are thread safe 00052 void setTempData(const uint16_t& td); 00053 void validate(); 00054 void setData(const uint16_t& d); 00055 uint16_t getData() const; 00056 }; 00057 00058 } // namepsace create 00059 00060 #endif // CREATE_PACKET_H