00001 // Copyright CERN 2012 - Developed in collaboration with GSI 00002 00003 #ifndef RT_EVENT_PAYLOAD_H_ 00004 #define RT_EVENT_PAYLOAD_H_ 00005 00006 #include <stdint.h> 00007 00008 namespace fesa 00009 { 00010 00015 class RTEventPayload 00016 { 00017 public: 00018 00022 RTEventPayload(); 00023 00029 RTEventPayload(const char* payload, uint32_t size); 00030 00035 RTEventPayload(const RTEventPayload& payload); 00036 00040 virtual ~RTEventPayload(); 00041 00046 template<typename T> T* getValue(); 00047 00048 protected: 00049 char* payload_; 00050 uint32_t size_; 00051 }; 00052 00053 template<typename T> 00054 T* RTEventPayload::getValue() 00055 { 00056 return (T*) payload_; 00057 } 00058 00059 } // fesa 00060 00061 #endif // RT_EVENT_PAYLOAD_H_