added some documentation

This commit is contained in:
Robin Müller 2022-08-09 16:18:45 +02:00
parent 7a20412305
commit bba2d883b6
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC
2 changed files with 30 additions and 2 deletions

View File

@ -7,6 +7,27 @@
namespace cfdp { namespace cfdp {
/**
* @brief Provides a way to implement the fault handling procedures as specified
* in chapter 4.8 of the CFDP standard.
*
* @details
* It is passed into the CFDP handlers as part of the local entity configuration and provides
* a way to specify custom user error handlers.
*
* It does so by mapping each applicable CFDP condition code to a fault handler which
* is denoted by the four @cfdp::FaultHandlerCodes. This code is used to dispatch
* to a user-provided callback function:
*
* 1. @FaultHandlerCodes::IGNORE_ERROR -> @ignore_cb
* 2. @FaultHandlerCodes::NOTICE_OF_CANCELLATION` -> @notice_of_cancellation_cb
* 3. @FaultHandlerCodes::NOTICE_OF_SUSPENSION` -> @notice_of_suspension_cb
* 4. @FaultHandlerCodes::ABANDON_TRANSACTION` -> @abandon_transaction_cb
*
* For each error reported by @reportError, the appropriate fault handler callback
* will be called. The user provides the callbacks by providing a custom class which implements
* these base class and all abstract fault handler callbacks.
*/
class FaultHandlerBase { class FaultHandlerBase {
public: public:
virtual ~FaultHandlerBase(); virtual ~FaultHandlerBase();

View File

@ -8,9 +8,16 @@ namespace cfdp {
class UserBase { class UserBase {
public: public:
/** /**
* Create a user base class which is used to provides a user interface to interact with CFDP * @brief Base class which provides a user interface to interact with CFDP handlers.
* handlers. It is also used to pass the Virtual Filestore (VFS) Implementation to the CFDP *
* @details
* This class is also used to pass the Virtual Filestore (VFS) Implementation to the CFDP
* handlers so the filestore operations can be mapped to the underlying filestore. * handlers so the filestore operations can be mapped to the underlying filestore.
*
* 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.
* @param vfs Virtual Filestore Object. Will be used for all file operations * @param vfs Virtual Filestore Object. Will be used for all file operations
*/ */
explicit UserBase(HasFileSystemIF& vfs); explicit UserBase(HasFileSystemIF& vfs);