DP3
ParmDBBlob.h
Go to the documentation of this file.
1 // ParmDBBlob.h: Dummy class to hold parameters in a Blob
2 //
3 // Copyright (C) 2020 ASTRON (Netherlands Institute for Radio Astronomy)
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 
9 
10 #ifndef LOFAR_PARMDB_PARMDBBLOB_H
11 #define LOFAR_PARMDB_PARMDBBLOB_H
12 
13 #include "ParmDB.h"
14 
15 namespace dp3 {
16 namespace parmdb {
17 
20 
22 
25 class ParmDBBlob : public ParmDBRep {
26  public:
27  explicit ParmDBBlob(const std::string& tableName, bool forceNew = false);
28 
29  ~ParmDBBlob() override;
30 
33  void flush(bool fsync) override;
34 
38  void lock(bool lockForWrite) override;
39  void unlock() override;
41 
45  Box getRange(const std::string& parmNamePattern) const override;
46  Box getRange(const std::vector<std::string>& parmNames) const override;
48 
51  void setDefaultSteps(const std::vector<double>&) override;
52 
55  void getValues(std::vector<ParmValueSet>& values,
56  const std::vector<unsigned int>& nameIds,
57  const std::vector<ParmId>& parmIds,
58  const Box& domain) override;
59 
62  void putValues(const std::string& parmName, int& nameId,
63  ParmValueSet& values) override;
64 
67  void deleteValues(const std::string& parmNamePattern,
68  const Box& domain) override;
69 
72  void getDefValues(ParmMap& result,
73  const std::string& parmNamePattern) override;
74 
77  void putDefValue(const std::string& name, const ParmValueSet& value,
78  bool check = true) override;
79 
82  void deleteDefValues(const std::string& parmNamePattern) override;
83 
86  std::vector<std::string> getNames(const std::string& pattern) override;
87 
90  int getNameId(const std::string& parmName) override;
91 
94  void clearTables() override;
95 
97  void fillDefMap(ParmMap& defMap) override;
98 };
99 
101 
102 } // namespace parmdb
103 } // namespace dp3
104 
105 #endif
Base class for a table holding parameters.
Class representing a 2-dim box.
Definition: Box.h:36
Dummy class to hold parameters in a Blob.
Definition: ParmDBBlob.h:25
std::vector< std::string > getNames(const std::string &pattern) override
void deleteDefValues(const std::string &parmNamePattern) override
void getDefValues(ParmMap &result, const std::string &parmNamePattern) override
void deleteValues(const std::string &parmNamePattern, const Box &domain) override
void clearTables() override
Box getRange(const std::vector< std::string > &parmNames) const override
void getValues(std::vector< ParmValueSet > &values, const std::vector< unsigned int > &nameIds, const std::vector< ParmId > &parmIds, const Box &domain) override
void lock(bool lockForWrite) override
void flush(bool fsync) override
Box getRange(const std::string &parmNamePattern) const override
void setDefaultSteps(const std::vector< double > &) override
void putDefValue(const std::string &name, const ParmValueSet &value, bool check=true) override
int getNameId(const std::string &parmName) override
void unlock() override
void fillDefMap(ParmMap &defMap) override
Fill the map with default values.
ParmDBBlob(const std::string &tableName, bool forceNew=false)
void putValues(const std::string &parmName, int &nameId, ParmValueSet &values) override
Abstract base class for a table holding parameters.
Definition: ParmDB.h:27
A map of parameter name to value set.
Definition: ParmMap.h:30
A class holding information of multiple domains of a parameter. ParmValueSet holds the information of...
Definition: ParmValue.h:146
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53