F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
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 
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 initialzation time. No guard of data structure.
61 
64  virtual ~PrmDbImpl();
65  protected:
66  private:
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;
119  } m_db[PRMDB_NUM_DB_ENTRIES];
120 
121  };
122 }
123 
124 #endif /* PRMDBIMPL_HPP_ */
PrmDbImplCfg.hpp
Svc::PrmDbComponentBase
Auto-generated base for PrmDb component.
Definition: PrmDbComponentAc.hpp:48
Fw::EightyCharString
Definition: EightyCharString.hpp:10
Svc::PrmDbImpl::readParamFile
void readParamFile(void)
PrmDb file read function.
Definition: PrmDbImpl.cpp:240
Svc::PrmDbComponentBase::id
PROTECTED FwPrmIdType id
Definition: PrmDbComponentAc.hpp:268
Svc::PrmDbImpl::~PrmDbImpl
virtual ~PrmDbImpl()
PrmDb destructor.
Definition: PrmDbImpl.cpp:237
EightyCharString.hpp
PrmDbComponentAc.hpp
Fw::ObjBase::init
void init(void)
Object initializer.
Definition: ObjBase.cpp:26
Svc::PrmDbComponentBase::cmdSeq
PROTECTED U32 cmdSeq
Definition: PrmDbComponentAc.hpp:529
FwOpcodeType
#define FwOpcodeType
Type representation for a command opcode.
Definition: FpConfig.hpp:62
Svc::PrmDbComponentBase::val
PROTECTED FwPrmIdType Fw::ParamBuffer & val
Definition: PrmDbComponentAc.hpp:270
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::PrmDbComponentBase::portNum
PRIVATE NATIVE_INT_TYPE portNum
Definition: PrmDbComponentAc.hpp:789
Svc
Definition: ActiveLoggerComponentAc.cpp:22
FwPrmIdType
#define FwPrmIdType
Type representation for a parameter id.
Definition: FpConfig.hpp:74
Fw::ParamValid
ParamValid
Definition: PrmGetPortAc.hpp:25
Svc::PrmDbComponentBase::key
PROTECTED U32 key
Definition: PrmDbComponentAc.hpp:354
Mutex.hpp
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