fpp/compiler/tools/fpp-to-cpp/test/component/base/NoArgsPortAc.ref.hpp
2025-12-05 17:00:59 -08:00

142 lines
3.5 KiB
C++
Vendored

// ======================================================================
// \title NoArgsPortAc.hpp
// \author Generated by fpp-to-cpp
// \brief hpp file for NoArgs port
// ======================================================================
#ifndef Ports_NoArgsPortAc_HPP
#define Ports_NoArgsPortAc_HPP
#include "Fw/FPrimeBasicTypes.hpp"
#include "Fw/Types/String.hpp"
#if !FW_DIRECT_PORT_CALLS
#include "Fw/Comp/PassiveComponentBase.hpp"
#include "Fw/Port/InputPortBase.hpp"
#include "Fw/Port/OutputPortBase.hpp"
#include "Fw/Types/Serializable.hpp"
#endif
namespace Ports {
//! NoArgs port constants
struct NoArgsPortConstants {
//! The size of the serial representations of the port arguments
static constexpr FwSizeType INPUT_SERIALIZED_SIZE =
0;
};
#if !FW_DIRECT_PORT_CALLS
//! Input NoArgs port
//! A typed port with no arguments
class InputNoArgsPort :
public Fw::InputPortBase
{
public:
// ----------------------------------------------------------------------
// Constants
// ----------------------------------------------------------------------
enum {
//! The size of the serial representations of the port arguments
SERIALIZED_SIZE = NoArgsPortConstants::INPUT_SERIALIZED_SIZE
};
public:
// ----------------------------------------------------------------------
// Types
// ----------------------------------------------------------------------
//! The port callback function type
typedef void (*CompFuncPtr)(
Fw::PassiveComponentBase* callComp,
FwIndexType portNum
);
public:
// ----------------------------------------------------------------------
// Input Port Member functions
// ----------------------------------------------------------------------
//! Constructor
InputNoArgsPort();
//! Initialization function
void init();
//! Register a component
void addCallComp(
Fw::PassiveComponentBase* callComp, //!< The containing component
CompFuncPtr funcPtr //!< The port callback function
);
//! Invoke a port interface
void invoke();
private:
#if FW_PORT_SERIALIZATION == 1
//! Invoke the port with serialized arguments
Fw::SerializeStatus invokeSerial(Fw::LinearBufferBase& _buffer);
#endif
private:
// ----------------------------------------------------------------------
// Member variables
// ----------------------------------------------------------------------
//! The pointer to the port callback function
CompFuncPtr m_func;
};
//! Output NoArgs port
//! A typed port with no arguments
class OutputNoArgsPort :
public Fw::OutputPortBase
{
public:
// ----------------------------------------------------------------------
// Output Port Member functions
// ----------------------------------------------------------------------
//! Constructor
OutputNoArgsPort();
//! Initialization function
void init();
//! Register an input port
void addCallPort(
InputNoArgsPort* callPort //!< The input port
);
//! Invoke a port interface
void invoke() const;
private:
// ----------------------------------------------------------------------
// Member variables
// ----------------------------------------------------------------------
//! The pointer to the input port
InputNoArgsPort* m_port;
};
#endif
}
#endif