57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
|
/**
|
||
|
* @file TimeMessage.h
|
||
|
* @brief This file defines the TimeMessage class.
|
||
|
* @date 26.02.2013
|
||
|
* @author baetz
|
||
|
*/
|
||
|
|
||
|
#ifndef TIMEMESSAGE_H_
|
||
|
#define TIMEMESSAGE_H_
|
||
|
|
||
|
#include "../ipc/MessageQueueMessage.h"
|
||
|
#include "Clock.h"
|
||
|
#include <cstring>
|
||
|
|
||
|
class TimeMessage : public MessageQueueMessage {
|
||
|
protected:
|
||
|
/**
|
||
|
* @brief This call always returns the same fixed size of the message.
|
||
|
* @return Returns HEADER_SIZE + \c sizeof(timeval) + sizeof(uint32_t).
|
||
|
*/
|
||
|
size_t getMinimumMessageSize();
|
||
|
public:
|
||
|
|
||
|
/**
|
||
|
* @ brief the size of a TimeMessage
|
||
|
*/
|
||
|
static const uint32_t MAX_SIZE = HEADER_SIZE + sizeof(timeval) + sizeof(uint32_t);
|
||
|
|
||
|
/**
|
||
|
* @brief In the default constructor, only the message_size is set.
|
||
|
*/
|
||
|
TimeMessage();
|
||
|
/**
|
||
|
* @brief With this constructor, the passed time information is directly put
|
||
|
* into the message.
|
||
|
* @param setTime The time information to put into the message.
|
||
|
* @param counterValue The counterValue to put into the message (GPS PPS).
|
||
|
*/
|
||
|
TimeMessage( timeval setTime, uint32_t counterValue = 0 );
|
||
|
/**
|
||
|
* @brief The class's destructor is empty.
|
||
|
*/
|
||
|
~TimeMessage();
|
||
|
/**
|
||
|
* @brief This getter returns the time information in timeval format.
|
||
|
* @return Returns the time stored in this packet.
|
||
|
*/
|
||
|
timeval getTime();
|
||
|
/**
|
||
|
* @brief This getter returns the CounterValue in uint32_t format.
|
||
|
* @return Returns the CounterValue stored in this packet.
|
||
|
*/
|
||
|
uint32_t getCounterValue();
|
||
|
};
|
||
|
|
||
|
#endif /* TIMEMESSAGE_H_ */
|