2021-06-13 16:29:13 +02:00
|
|
|
#ifndef FSFW_TMTCPACKET_PUS_TCPACKETSTOREDIF_H_
|
|
|
|
#define FSFW_TMTCPACKET_PUS_TCPACKETSTOREDIF_H_
|
|
|
|
|
2021-06-14 10:19:01 +02:00
|
|
|
#include "TcPacketBase.h"
|
|
|
|
#include "../../../storagemanager/storeAddress.h"
|
|
|
|
#include "../../../returnvalues/HasReturnvaluesIF.h"
|
2021-06-13 16:29:13 +02:00
|
|
|
|
|
|
|
class TcPacketStoredIF {
|
|
|
|
public:
|
|
|
|
virtual~TcPacketStoredIF() {};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* With this call, the stored packet can be set to another packet in a store. This is useful
|
|
|
|
* if the packet is a class member and used for more than one packet.
|
|
|
|
* @param setAddress The new packet id to link to.
|
|
|
|
*/
|
|
|
|
virtual void setStoreAddress(store_address_t setAddress) = 0;
|
|
|
|
|
|
|
|
virtual store_address_t getStoreAddress() = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Getter function for the raw data.
|
|
|
|
* @param dataPtr [out] Pointer to the data pointer to set
|
|
|
|
* @param dataSize [out] Address of size to set.
|
|
|
|
* @return -@c RETURN_OK if data was retrieved successfully.
|
|
|
|
*/
|
|
|
|
virtual ReturnValue_t getData(const uint8_t ** dataPtr, size_t* dataSize) = 0;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get packet base pointer which can be used to get access to PUS packet fields
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
virtual TcPacketBase* getPacketBase() = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* FSFW_TMTCPACKET_PUS_TCPACKETSTOREDIF_H_ */
|