F´ Flight Software - C/C++ Documentation
devel
A framework for building embedded system applications to NASA flight quality standards.
|
Abstract base class representing a deframing protocol. More...
#include <Svc/FramingProtocol/DeframingProtocol.hpp>
Public Types | |
enum | DeframingStatus { DEFRAMING_STATUS_SUCCESS , DEFRAMING_INVALID_SIZE , DEFRAMING_INVALID_CHECKSUM , DEFRAMING_MORE_NEEDED , DEFRAMING_INVALID_FORMAT , DEFRAMING_MAX_STATUS } |
Status of the deframing call. More... | |
Public Member Functions | |
virtual | ~DeframingProtocol () |
DeframingProtocol () | |
void | setup (DeframingProtocolInterface &interface) |
virtual DeframingStatus | deframe (Types::CircularBuffer &buffer, U32 &needed)=0 |
Protected Attributes | |
DeframingProtocolInterface * | m_interface |
Abstract base class representing a deframing protocol.
This class represents the basic interface for writing a deframing protocol. This class may be subclassed to provide concrete implementations for the protocol. A DeframingProtocolInterface is be supplied using the setup
call. This instance is usually the DeframingComponentImpl.
Implementations are expected to call m_interface.route
to send the deframed data and may call m_interface.allocate
to allocate new memory.
Definition at line 33 of file DeframingProtocol.hpp.
Status of the deframing call.
Definition at line 39 of file DeframingProtocol.hpp.
|
inlinevirtual |
Definition at line 35 of file DeframingProtocol.hpp.
Svc::DeframingProtocol::DeframingProtocol | ( | ) |
Constructor
Definition at line 19 of file DeframingProtocol.cpp.
|
pure virtual |
Deframe packets from within the circular buffer
buffer | Deframe from circular buffer |
needed | Return needed number of bytes |
Implemented in Svc::FprimeDeframing.
void Svc::DeframingProtocol::setup | ( | DeframingProtocolInterface & | interface | ) |
Setup the deframing protocol with the deframing interface
interface | Deframing interface |
Definition at line 21 of file DeframingProtocol.cpp.
|
protected |
Definition at line 63 of file DeframingProtocol.hpp.