Steffen Gaisser
6021d897b8
All checks were successful
fsfw/fsfw/pipeline/pr-development This commit looks good
41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#ifndef FSFW_TIMEMANAGER_TIMEREADERIF_H
|
|
#define FSFW_TIMEMANAGER_TIMEREADERIF_H
|
|
|
|
#include <cstdio>
|
|
#include <cstdlib>
|
|
|
|
#include "fsfw/platform.h"
|
|
|
|
#ifdef PLATFORM_WIN
|
|
// wtf? Required for timeval!
|
|
#include <winsock.h>
|
|
#endif
|
|
|
|
#include "TimeStampIF.h"
|
|
#include "fsfw/returnvalues/returnvalue.h"
|
|
#include "fsfw/serialize/SerializeIF.h"
|
|
|
|
class TimeReaderIF : public SerializeIF, public TimeStampIF {
|
|
public:
|
|
~TimeReaderIF() override = default;
|
|
virtual timeval& getTime() = 0;
|
|
|
|
[[nodiscard]] size_t getSerializedSize() const override { return getTimestampSize(); }
|
|
|
|
ReturnValue_t readTimeStamp(const uint8_t* buf, size_t maxSize) {
|
|
size_t dummy = 0;
|
|
return deSerialize(buf, dummy, maxSize, SerializeIF::Endianness::NETWORK);
|
|
}
|
|
|
|
private:
|
|
/**
|
|
* Forbidden, use dedicated IF @TimeWriterIF
|
|
*/
|
|
[[nodiscard]] ReturnValue_t serialize(uint8_t** buffer, size_t* size, size_t maxSize,
|
|
Endianness streamEndianness) const override {
|
|
return returnvalue::FAILED;
|
|
}
|
|
};
|
|
|
|
#endif // FSFW_TIMEMANAGER_TIMEREADERIF_H
|