F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
Svc::PrmDbImpl Class Reference

Component class for managing parameters. More...

#include <Svc/PrmDb/PrmDbImpl.hpp>

Inheritance diagram for Svc::PrmDbImpl:
Svc::PrmDbComponentBase Fw::ActiveComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase

Public Member Functions

 PrmDbImpl (const char *name)
 PrmDb constructor. More...
 
void init (NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance)
 PrmDb initialization function. More...
 
void configure (const char *file)
 PrmDb configure method. More...
 
void readParamFile ()
 PrmDb file read function. More...
 
virtual ~PrmDbImpl ()
 PrmDb destructor. More...
 
- Public Member Functions inherited from Svc::PrmDbComponentBase
void init (FwQueueSizeType queueDepth, FwEnumStoreType instance=0)
 Initialize PrmDbComponentBase object. More...
 
Fw::InputCmdPortget_CmdDisp_InputPort (FwIndexType portNum)
 
Fw::InputPrmGetPortget_getPrm_InputPort (FwIndexType portNum)
 
Svc::InputPingPortget_pingIn_InputPort (FwIndexType portNum)
 
Fw::InputPrmSetPortget_setPrm_InputPort (FwIndexType portNum)
 
void set_CmdReg_OutputPort (FwIndexType portNum, Fw::InputCmdRegPort *port)
 Connect port to CmdReg[portNum]. More...
 
void set_CmdStatus_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port)
 Connect port to CmdStatus[portNum]. More...
 
void set_Log_OutputPort (FwIndexType portNum, Fw::InputLogPort *port)
 Connect port to Log[portNum]. More...
 
void set_Time_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to Time[portNum]. More...
 
void set_pingOut_OutputPort (FwIndexType portNum, Svc::InputPingPort *port)
 Connect port to pingOut[portNum]. More...
 
void regCommands ()
 Register commands with the Command Dispatcher. More...
 
- Public Member Functions inherited from Fw::ActiveComponentBase
void start (Os::Task::ParamType priority=Os::Task::TASK_DEFAULT, Os::Task::ParamType stackSize=Os::Task::TASK_DEFAULT, Os::Task::ParamType cpuAffinity=Os::Task::TASK_DEFAULT, Os::Task::ParamType identifier=Os::Task::TASK_DEFAULT)
 called by instantiator when task is to be started More...
 
void exit ()
 exit task in active component More...
 
Os::Task::Status join ()
 Join the thread. More...
 
 DEPRECATED (Os::Task::Status join(void **value_ptr), "Switch to .join()")
 Join to thread with discarded value_ptr. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase () const
 

Friends

class PrmDbImplTester
 

Additional Inherited Members

- Public Types inherited from Fw::ActiveComponentBase
enum  { ACTIVE_COMPONENT_EXIT }
 
- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK , MSG_DISPATCH_EMPTY , MSG_DISPATCH_ERROR , MSG_DISPATCH_EXIT }
 
- Protected Types inherited from Svc::PrmDbComponentBase
enum  { NUM_CMDDISP_INPUT_PORTS = 1 }
 Enumerations for numbers of special input ports. More...
 
enum  { NUM_GETPRM_INPUT_PORTS = 1 , NUM_PINGIN_INPUT_PORTS = 1 , NUM_SETPRM_INPUT_PORTS = 1 }
 Enumerations for numbers of typed input ports. More...
 
enum  {
  NUM_CMDREG_OUTPUT_PORTS = 1 , NUM_CMDSTATUS_OUTPUT_PORTS = 1 , NUM_LOG_OUTPUT_PORTS = 1 , NUM_LOGTEXT_OUTPUT_PORTS = 1 ,
  NUM_TIME_OUTPUT_PORTS = 1
}
 Enumerations for numbers of special output ports. More...
 
enum  { NUM_PINGOUT_OUTPUT_PORTS = 1 }
 Enumerations for numbers of typed output ports. More...
 
enum  { OPCODE_PRM_SAVE_FILE = 0x0 }
 Command opcodes. More...
 
enum  {
  EVENTID_PRMIDNOTFOUND = 0x0 , EVENTID_PRMIDUPDATED = 0x1 , EVENTID_PRMDBFULL = 0x2 , EVENTID_PRMIDADDED = 0x3 ,
  EVENTID_PRMFILEWRITEERROR = 0x4 , EVENTID_PRMFILESAVECOMPLETE = 0x5 , EVENTID_PRMFILEREADERROR = 0x6 , EVENTID_PRMFILELOADCOMPLETE = 0x7
}
 Event IDs. More...
 
enum  { EVENTID_PRMIDNOTFOUND_THROTTLE = 5 }
 Event throttle values: sets initial value of countdown variables. More...
 
- Protected Types inherited from Fw::ActiveComponentBase
enum  Lifecycle { CREATED , DISPATCHING , FINALIZING , DONE }
 Tracks the lifecycle of the component. More...
 
- Protected Member Functions inherited from Svc::PrmDbComponentBase
 PrmDbComponentBase (const char *compName="")
 Construct PrmDbComponentBase object. More...
 
virtual ~PrmDbComponentBase ()
 Destroy PrmDbComponentBase object. More...
 
FwIndexType getNum_CmdDisp_InputPorts () const
 
FwIndexType getNum_getPrm_InputPorts () const
 
FwIndexType getNum_pingIn_InputPorts () const
 
FwIndexType getNum_setPrm_InputPorts () const
 
FwIndexType getNum_CmdReg_OutputPorts () const
 
FwIndexType getNum_CmdStatus_OutputPorts () const
 
FwIndexType getNum_Log_OutputPorts () const
 
FwIndexType getNum_Time_OutputPorts () const
 
FwIndexType getNum_pingOut_OutputPorts () const
 
bool isConnected_CmdReg_OutputPort (FwIndexType portNum)
 
bool isConnected_CmdStatus_OutputPort (FwIndexType portNum)
 
bool isConnected_Log_OutputPort (FwIndexType portNum)
 
bool isConnected_Time_OutputPort (FwIndexType portNum)
 
bool isConnected_pingOut_OutputPort (FwIndexType portNum)
 
Fw::ParamValid getPrm_handlerBase (FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
 Handler base-class function for input port getPrm. More...
 
void pingIn_handlerBase (FwIndexType portNum, U32 key)
 Handler base-class function for input port pingIn. More...
 
void setPrm_handlerBase (FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
 Handler base-class function for input port setPrm. More...
 
virtual void pingIn_preMsgHook (FwIndexType portNum, U32 key)
 Pre-message hook for async input port pingIn. More...
 
virtual void setPrm_preMsgHook (FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer &val)
 Pre-message hook for async input port setPrm. More...
 
void pingOut_out (FwIndexType portNum, U32 key)
 Invoke output port pingOut. More...
 
void cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
 Emit command response. More...
 
void PRM_SAVE_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. More...
 
void log_WARNING_LO_PrmIdNotFound (U32 Id)
 
void log_ACTIVITY_HI_PrmIdUpdated (U32 Id)
 
void log_FATAL_PrmDbFull (U32 Id)
 
void log_ACTIVITY_HI_PrmIdAdded (U32 Id)
 
void log_WARNING_HI_PrmFileWriteError (Svc::PrmDb_PrmWriteError stage, I32 record, I32 error)
 
void log_ACTIVITY_HI_PrmFileSaveComplete (U32 records)
 
void log_WARNING_HI_PrmFileReadError (Svc::PrmDb_PrmReadError stage, I32 record, I32 error)
 
void log_ACTIVITY_HI_PrmFileLoadComplete (U32 records)
 
void log_WARNING_LO_PrmIdNotFound_ThrottleClear ()
 Reset throttle value for PrmIdNotFound. More...
 
Fw::Time getTime ()
 
virtual void lock ()
 Lock the guarded mutex. More...
 
virtual void unLock ()
 Unlock the guarded mutex. More...
 
- Protected Member Functions inherited from Fw::ActiveComponentBase
 ActiveComponentBase (const char *name)
 Constructor. More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization code More...
 
virtual void preamble ()
 A function that will be called before the event loop is entered. More...
 
MsgDispatchStatus dispatch ()
 The function that will dispatching messages. More...
 
virtual void finalizer ()
 A function that will be called after exiting the loop. More...
 
- Protected Member Functions inherited from Fw::QueuedComponentBase
 QueuedComponentBase (const char *name)
 Constructor. More...
 
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization function More...
 
Os::Queue::QueueStatus createQueue (NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
 
NATIVE_INT_TYPE getNumMsgsDropped ()
 return number of messages dropped More...
 
void incNumMsgDropped ()
 increment the number of messages dropped More...
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 Initialization function. More...
 
NATIVE_INT_TYPE getInstance () const
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init ()
 Object initializer. More...
 
- Protected Attributes inherited from Fw::ActiveComponentBase
Os::Task m_task
 task object for active component More...
 
- Protected Attributes inherited from Fw::QueuedComponentBase
Os::Queue m_queue
 queue object for active component More...
 

Detailed Description

Component class for managing parameters.

This component supports storing, setting and saving of serialized parameters for components.

Definition at line 30 of file PrmDbImpl.hpp.

Constructor & Destructor Documentation

◆ PrmDbImpl()

Svc::PrmDbImpl::PrmDbImpl ( const char *  name)

PrmDb constructor.

The constructor for the PrmDbImpl class. The constructor clears the database and stores the file name for opening later.

Parameters
namecomponent instance name

Definition at line 44 of file PrmDbImpl.cpp.

◆ ~PrmDbImpl()

Svc::PrmDbImpl::~PrmDbImpl ( )
virtual

PrmDb destructor.

Definition at line 255 of file PrmDbImpl.cpp.

Member Function Documentation

◆ configure()

void Svc::PrmDbImpl::configure ( const char *  file)

PrmDb configure method.

The configure method stores the file name for opening later.

Parameters
filefile where parameters are stored.

Definition at line 48 of file PrmDbImpl.cpp.

◆ init()

void Svc::PrmDbImpl::init ( NATIVE_INT_TYPE  queueDepth,
NATIVE_INT_TYPE  instance 
)

PrmDb initialization function.

The initialization function for the component creates the message queue and initializes the component base classes.

Parameters
queueDepthqueue depth for messages
instanceinstance of component, if more than one is needed.

Definition at line 53 of file PrmDbImpl.cpp.

◆ readParamFile()

void Svc::PrmDbImpl::readParamFile ( )

PrmDb file read function.

The readFile function reads the set of parameters from the file passed in to the constructor.

Definition at line 258 of file PrmDbImpl.cpp.

Friends And Related Function Documentation

◆ PrmDbImplTester

friend class PrmDbImplTester
friend

Definition at line 33 of file PrmDbImpl.hpp.


The documentation for this class was generated from the following files: