2022-08-09 15:46:42 +02:00
|
|
|
#ifndef FSFW_CFDP_USERBASE_H
|
|
|
|
#define FSFW_CFDP_USERBASE_H
|
|
|
|
|
2022-08-09 16:36:35 +02:00
|
|
|
#include "fsfw/filesystem/HasFileSystemIF.h"
|
2022-08-09 15:46:42 +02:00
|
|
|
|
|
|
|
namespace cfdp {
|
|
|
|
|
|
|
|
class UserBase {
|
|
|
|
public:
|
2022-08-09 15:51:01 +02:00
|
|
|
/**
|
2022-08-09 16:18:45 +02:00
|
|
|
* @brief Base class which provides a user interface to interact with CFDP handlers.
|
|
|
|
*
|
|
|
|
* @details
|
|
|
|
* This class is also used to pass the Virtual Filestore (VFS) Implementation to the CFDP
|
2022-08-09 15:51:01 +02:00
|
|
|
* handlers so the filestore operations can be mapped to the underlying filestore.
|
2022-08-09 16:18:45 +02:00
|
|
|
*
|
|
|
|
* It is used by implementing it in a child class and then passing it to the CFDP
|
|
|
|
* handler objects. The base class provides default implementation for the user indication
|
|
|
|
* primitives specified in the CFDP standard. The user can override these implementations
|
|
|
|
* to provide custom indication handlers.
|
2022-08-09 15:51:01 +02:00
|
|
|
* @param vfs Virtual Filestore Object. Will be used for all file operations
|
|
|
|
*/
|
2022-08-09 15:46:42 +02:00
|
|
|
explicit UserBase(HasFileSystemIF& vfs);
|
|
|
|
|
|
|
|
private:
|
|
|
|
HasFileSystemIF& vfs;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace cfdp
|
|
|
|
|
|
|
|
#endif // FSFW_CFDP_USERBASE_H
|