fprime/Fw/Port/InputPortBase.hpp
Vince Woo 48e4720419
Created new SerialBufferBase as a parent of SerializeBufferBase (now renamed LinearBufferBase). (#4288)
* Created new SerialBufferBase as a parent of SerializeBufferBase. Renaming interface functions to be less confusing.

* Deprecating copyRawOffset. No direct use-cases in F' core.

* Make SerialBufferBase a true pure virtual interface.

* Changing Serializable to work with SerialBufferBase parent interface.

* Changing copyRaw and copyRawOffset to work with SerialBufferBase

* Updating documentation for SerialBufferBase usage

* Adding some documentation. Adding missing ASSERT in copyRaw. Fixing some bugs that new ASSERT uncovered.

* Renaming SerializeBufferBase to LinearBufferBase. Add a using declaration to maintain backwards compatability. Properly mark LinearBufferBase functions as override.

* Filling in the rest of the docstrings for the classes in Serializable

* Removing redundant virtual keyword on override function

* Applying clang formatting

* Incorporating PR comments

* Fix compile issues

* Bump version to alpha

* Format

* v

---------

Co-authored-by: M Starch <LeStarch@googlemail.com>
2025-11-06 16:23:20 -08:00

42 lines
1.2 KiB
C++

#ifndef FW_INPUT_PORT_BASE_HPP
#define FW_INPUT_PORT_BASE_HPP
#include <Fw/Comp/PassiveComponentBase.hpp>
#include <Fw/FPrimeBasicTypes.hpp>
#include <Fw/Obj/ObjBase.hpp>
#include <Fw/Port/PortBase.hpp>
#include <Fw/Types/Serializable.hpp>
namespace Fw {
class InputPortBase : public PortBase {
public:
void setPortNum(FwIndexType portNum); // !< set the port number
#if FW_PORT_SERIALIZATION
virtual SerializeStatus invokeSerial(
LinearBufferBase& buffer) = 0; // !< invoke the port with a serialized version of the call
#endif
protected:
InputPortBase(); // Constructor
virtual ~InputPortBase(); // Destructor
void init() override;
PassiveComponentBase* m_comp; // !< pointer to containing component
FwIndexType m_portNum; // !< port number in containing object
#if FW_OBJECT_TO_STRING == 1
const char* getToStringFormatString() override; //!< Get format string for toString call
#endif
private:
// Disable constructors since we don't want to instantiate directly
InputPortBase(InputPortBase*);
InputPortBase(InputPortBase&);
InputPortBase& operator=(InputPortBase&);
};
} // namespace Fw
#endif