7 #ifndef Svc_PrmDbComponentAc_HPP 8 #define Svc_PrmDbComponentAc_HPP 21 #if !FW_DIRECT_PORT_CALLS 24 #if !FW_DIRECT_PORT_CALLS 132 #if !FW_DIRECT_PORT_CALLS 149 #if !FW_DIRECT_PORT_CALLS 180 #if !FW_DIRECT_PORT_CALLS 206 #if FW_ENABLE_TEXT_LOGGING == 1 209 void set_LogText_OutputPort(
224 #if !FW_DIRECT_PORT_CALLS 240 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 251 Fw::InputSerializePort* port
257 Fw::InputSerializePort* port
263 Fw::InputSerializePort* port
266 #if FW_ENABLE_TEXT_LOGGING == 1 269 void set_LogText_OutputPort(
271 Fw::InputSerializePort* port
279 Fw::InputSerializePort* port
284 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 295 Fw::InputSerializePort* port
319 const char* compName =
"" 392 #if FW_ENABLE_TEXT_LOGGING == 1 397 static constexpr
FwIndexType getNum_LogText_OutputPorts() {
450 #if FW_ENABLE_TEXT_LOGGING == 1 455 bool isConnected_LogText_OutputPort(
481 #if FW_DIRECT_PORT_CALLS 528 #if FW_DIRECT_PORT_CALLS 858 static void m_p_CmdDisp_in(
882 static void m_p_pingIn_in(
889 static void m_p_setPrm_in(
925 #if FW_ENABLE_TEXT_LOGGING 944 #if !FW_DIRECT_PORT_CALLS 957 #if !FW_DIRECT_PORT_CALLS 976 #if !FW_DIRECT_PORT_CALLS 993 #if FW_ENABLE_TEXT_LOGGING == 1 1005 #if !FW_DIRECT_PORT_CALLS 1025 std::atomic<FwIndexType> m_PrmIdNotFoundThrottle;
void set_CmdReg_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to CmdReg[portNum].
void regCommands()
Register commands with the Command Dispatcher.
Parameter ID added to database.
State of parameter DB file load operations.
Save of parameter file completed.
FwIdType FwOpcodeType
The type of a command opcode.
Fw::ParamValid getPrm_handlerBase(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Handler base-class function for input port getPrm.
Parameter file load failed, not staging any update.
void log_WARNING_LO_PrmIdNotFound_ThrottleClear()
Reset throttle value for PrmIdNotFound.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
PlatformSizeType FwSizeType
void log_WARNING_LO_PrmDbFileLoadInvalidAction(const Svc::PrmDb_PrmDbFileLoadState ¤tState, const Svc::PrmDb_PrmLoadAction &attemptedAction) const
Committed staged parameter updates.
Failed to write parameter file.
void log_ACTIVITY_HI_PrmIdUpdated(FwPrmIdType Id) const
static constexpr FwIndexType getNum_pingOut_OutputPorts()
PrmDbComponentBase(const char *compName="")
Construct PrmDbComponentBase object.
Failed to read parameter file.
Parameter ID not found in database.
FwIdType FwPrmIdType
The type of a parameter identifier.
Parameter database is full.
void log_WARNING_HI_PrmFileReadError(const Svc::PrmDb_PrmReadError &stage, I32 record, I32 error) const
void log_ACTIVITY_HI_PrmFileSaveComplete(U32 records) const
Link-time delegating Mutex implementation.
void log_WARNING_HI_PrmFileWriteError(const Svc::PrmDb_PrmWriteError &stage, I32 record, I32 error) const
static constexpr FwIndexType getNum_Log_OutputPorts()
Fw::InputPrmSetPort * get_setPrm_InputPort(FwIndexType portNum)
friend class PrmDbTesterBase
Friend class tester to support autocoded test harness.
virtual void PRM_COMMIT_STAGED_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command PRM_COMMIT_STAGED.
Enum representing a command response.
friend class PrmDbTester
Friend class tester implementation to support white-box testing.
virtual void PRM_COMMIT_STAGED_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
static constexpr FwIndexType getNum_Time_OutputPorts()
void set_Log_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to Log[portNum].
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
void log_ACTIVITY_HI_PrmFileLoadComplete(const Fw::StringBase &databaseString, U32 recordsTotal, U32 recordsAdded, U32 recordsUpdated) const
void init()
Object initializer.
virtual ~PrmDbComponentBase()
Destroy PrmDbComponentBase object.
bool isConnected_CmdStatus_OutputPort(FwIndexType portNum) const
Command to save parameter image to file. Uses file name passed to constructor.
virtual void lock()
Lock the guarded mutex.
Load of parameter file completed.
Parameter ID updated in database.
parameter file failed CRC
FwIdType FwEventIdType
The type of an event identifier.
void CmdDisp_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port CmdDisp.
bool isConnected_Time_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_getPrm_InputPorts()
bool isConnected_Log_OutputPort(FwIndexType portNum) const
void log_ACTIVITY_HI_PrmDbCommitComplete() const
Fw::InputCmdPort * get_CmdDisp_InputPort(FwIndexType portNum)
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
Loads a file from storage into the staging database. The file could have selective IDs and not the wh...
void PRM_COMMIT_STAGED_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
void setPrm_handlerBase(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Handler base-class function for input port setPrm.
virtual void unLock()
Unlock the guarded mutex.
void log_ACTIVITY_HI_PrmIdAdded(FwPrmIdType Id) const
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
bool isConnected_CmdReg_OutputPort(FwIndexType portNum) const
void log_ACTIVITY_HI_PrmDbCopyAllComplete(const Fw::StringBase &databaseStringSrc, const Fw::StringBase &databaseStringDest) const
Enum representing event severity.
virtual Fw::ParamValid getPrm_handler(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)=0
Handler for input port getPrm.
All parameters Copied from one DB to another.
void PRM_LOAD_FILE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void PRM_SAVE_FILE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command PRM_SAVE_FILE.
void log_WARNING_HI_PrmDbFull(FwPrmIdType Id) const
virtual void PRM_LOAD_FILE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command PRM_LOAD_FILE.
Auto-generated base for PrmDb component.
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
void PRM_SAVE_FILE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Throttle reset count for PrmIdNotFound.
void log_WARNING_LO_PrmIdNotFound(FwPrmIdType Id)
Invalid Action during parameter file load.
virtual void PRM_LOAD_FILE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdStringArg &fileName, const Svc::PrmDb_Merge &merge)=0
PlatformIndexType FwIndexType
static constexpr FwIndexType getNum_CmdStatus_OutputPorts()
void set_CmdStatus_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to CmdStatus[portNum].
virtual void setPrm_handler(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)=0
Handler for input port setPrm.
void set_Time_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to Time[portNum].
static constexpr FwIndexType getNum_pingIn_InputPorts()
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
RateGroupDivider component implementation.
Enum representing parameter validity.
static constexpr FwIndexType getNum_CmdDisp_InputPorts()
Fw::InputPrmGetPort * get_getPrm_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_CmdReg_OutputPorts()
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
virtual void PRM_SAVE_FILE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
static constexpr FwIndexType getNum_setPrm_InputPorts()
virtual void setPrm_preMsgHook(FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
Pre-message hook for async input port setPrm.
void log_WARNING_HI_PrmFileBadCrc(U32 readCrc, U32 compCrc) const
void log_WARNING_HI_PrmDbFileLoadFailed() const
Commits the backup database to become the prime (active) database.