39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
#ifndef COOKIE_H_
|
||
#define COOKIE_H_
|
||
#include <framework/devicehandlers/CookieIF.h>
|
||
|
||
/**
|
||
* @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_ */
|