#ifndef COOKIE_H_ #define COOKIE_H_ #include /** * @brief This datatype is used to identify different connection over a single interface * (like RMAP or I2C) * @details * To use this class, implement a communication specific child cookie which * inherits Cookie. Cookie instances are created in config/ Factory.cpp by calling * CookieIF* childCookie = new ChildCookie(...).ยด * * This cookie is then passed to the child device handlers, which stores the * pointer and passes it to the communication interface functions. * * The cookie can be used to store all kinds of information * about the communication, like slave addresses, communication status, * communication parameters etc. * * @ingroup comm */ class Cookie: public CookieIF { public: Cookie(); Cookie(address_t logicalAddress_); virtual ~Cookie() {}; virtual void setAddress(address_t logicalAddres_); virtual void setMaxReplyLen(size_t maxReplyLen_); virtual address_t getAddress() const; virtual size_t getMaxReplyLen() const; private: address_t logicalAddress = 0; size_t maxReplyLen = 0; }; #endif /* COOKIE_H_ */