F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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>
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(void); // 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(void);
112 
113  Fw::EightyCharString 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
Fw::EightyCharString
Definition: EightyCharString.hpp:10
Svc::PrmDbImpl::readParamFile
void readParamFile(void)
PrmDb file read function.
Definition: PrmDbImpl.cpp:240
Svc::PrmDbImpl::~PrmDbImpl
virtual ~PrmDbImpl()
PrmDb destructor.
Definition: PrmDbImpl.cpp:237
EightyCharString.hpp
FwOpcodeType
#define FwOpcodeType
Type representation for a command opcode.
Definition: FpConfig.hpp:62
Fw::ParamBuffer
Definition: PrmBuffer.hpp:22
Svc::PrmDbImpl::PrmDbImpl
PrmDbImpl(const char *name, const char *file)
PrmDb constructor.
Definition: PrmDbImpl.cpp:42
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:74
Mutex.hpp
Svc::PrmDbImpl::init
void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance)
PrmDb initialization function.
Definition: PrmDbImpl.cpp:47
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