#ifndef LINUX_CSP_CSPCOOKIE_H_ #define LINUX_CSP_CSPCOOKIE_H_ #include #include #include #include "mission/devices/devicedefinitions/GomspaceDefinitions.h" /** * @brief This is the cookie for devices supporting the CSP (CubeSat Space * Protocol). * @author J. Meier */ class CspCookie : public CookieIF { public: CspCookie(uint16_t maxReplyLength_, uint8_t cspAddress_, uint32_t timeoutMs); virtual ~CspCookie(); void setCspPort(uint8_t port); uint8_t getCspPort() const; uint16_t getMaxReplyLength(); GOMSPACE::SpecialRequestTypes getRequest() const; void setRequest(GOMSPACE::SpecialRequestTypes request, size_t replyLen); size_t getReplyLen() const; uint8_t getCspAddress(); uint32_t getTimeout() const; private: uint8_t cspPort; uint16_t maxReplyLength; uint8_t cspAddress; size_t replyLen = 0; uint32_t timeoutMs; GOMSPACE::SpecialRequestTypes reqType; }; #endif /* LINUX_CSP_CSPCOOKIE_H_ */