F´ Flight Software - C/C++ Documentation  NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
PrmDbImpl.hpp
Go to the documentation of this file.
1 
13 #ifndef PRMDBIMPL_HPP_
14 #define PRMDBIMPL_HPP_
15 
16 #include <Svc/PrmDb/PrmDbComponentAc.hpp>
17 #include <PrmDbImplCfg.hpp>
18 #include <Fw/Types/String.hpp>
19 #include <Os/Mutex.hpp>
20 
21 namespace Svc {
22 
29 
30  class PrmDbImpl : public PrmDbComponentBase {
31  public:
32 
33  friend class PrmDbImplTester;
34 
43  PrmDbImpl(const char* name, const char* file);
44 
52 
53  void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance);
54 
60  void readParamFile(); // NOTE: Assumed to run at initialization time. No guard of data structure.
61 
64  virtual ~PrmDbImpl();
65  protected:
66  private:
75  Fw::ParamValid getPrm_handler(NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer &val);
84  void setPrm_handler(NATIVE_INT_TYPE portNum, FwPrmIdType id, Fw::ParamBuffer &val);
85 
94 
95  void pingIn_handler(NATIVE_INT_TYPE portNum, U32 key);
104  void PRM_SAVE_FILE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq);
105 
110 
111  void clearDb();
112 
113  Fw::String m_fileName;
114 
115  struct t_dbStruct {
116  bool used;
117  FwPrmIdType id;
118  Fw::ParamBuffer val;
119  } m_db[PRMDB_NUM_DB_ENTRIES];
120 
121  };
122 }
123 
124 #endif /* PRMDBIMPL_HPP_ */
PrmDbImplCfg.hpp
Svc::PrmDbImpl::readParamFile
void readParamFile()
PrmDb file read function.
Definition: PrmDbImpl.cpp:242
Svc::PrmDbImpl::~PrmDbImpl
virtual ~PrmDbImpl()
PrmDb destructor.
Definition: PrmDbImpl.cpp:239
FwOpcodeType
#define FwOpcodeType
Type representation for a command opcode.
Definition: FpConfig.hpp:58
String.hpp
Fw::ParamBuffer
Definition: PrmBuffer.hpp:22
Svc::PrmDbImpl::PrmDbImpl
PrmDbImpl(const char *name, const char *file)
PrmDb constructor.
Definition: PrmDbImpl.cpp:44
Fw::String
Definition: String.hpp:10
Svc::PrmDbImpl::PrmDbImplTester
friend class PrmDbImplTester
Definition: PrmDbImpl.hpp:33
Svc
Definition: ActiveRateGroupImplCfg.hpp:18
FwPrmIdType
#define FwPrmIdType
Type representation for a parameter id.
Definition: FpConfig.hpp:70
Mutex.hpp
Svc::PrmDbImpl::init
void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance)
PrmDb initialization function.
Definition: PrmDbImpl.cpp:49
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Svc::PrmDbImpl
Component class for managing parameters.
Definition: PrmDbImpl.hpp:30