NSCL DDAS  1.0
Support for XIA DDAS at the NSCL
 All Classes Namespaces Files Functions Variables Macros Pages
XMLSettingsWriter.h
Go to the documentation of this file.
1 /*
2  This software is Copyright by the Board of Trustees of Michigan
3  State University (c) Copyright 2017.
4 
5  You may use this software under the terms of the GNU public license
6  (GPL). The terms of this license are described at:
7 
8  http://www.gnu.org/licenses/gpl.txt
9 
10  Authors:
11  Ron Fox
12  Giordano Cerriza
13  NSCL
14  Michigan State University
15  East Lansing, MI 48824-1321
16 */
17 
21 #ifndef XMLSETTINGSWRITER_H
22 #define XMLSETTINGSWRITER_H
23 
24 
25 #include "SettingsWriter.h"
26 #include <string>
27 
28 namespace tinyxml2 {
29 class XMLPrinter;
30 }
31 namespace DDAS {
88  {
89  private:
90  std::string m_filename;
91  public:
92  XMLSettingsWriter(const char* filename);
93  virtual ~XMLSettingsWriter() {}
94  virtual void write(const ModuleSettings& dspSettings);
95  private:
96 
97  void writeModule(tinyxml2::XMLPrinter& printer, const ModuleSettings& settings);
98  void writePerModule(tinyxml2::XMLPrinter& printer, const ModuleSettings& settings);
99  void writePerChannel(
100  tinyxml2::XMLPrinter& printer, const ModuleSettings& settings,
101  unsigned chan
102  );
103  public:
104  static void writeValue(tinyxml2::XMLPrinter& printer, unsigned value);
105  static void writeValue(tinyxml2::XMLPrinter& printer, double value);
106  static void writeValue(tinyxml2::XMLPrinter& printer, bool value);
107  static void writeMultiplicityMasks(
108  tinyxml2::XMLPrinter& printer, uint32_t low, uint32_t high
109  );
110  };
111 } // DDAS Namespace.
112 
113  #endif
Definition: XMLSettingsWriter.h:87
Definition: SettingsWriter.h:41
static void writeMultiplicityMasks(tinyxml2::XMLPrinter &printer, uint32_t low, uint32_t high)
Definition: XMLSettingsWriter.cpp:306
Definition: tinyxml2.h:2213
: Abstract base class to write DSP settings to file.
Definition: tinyxml2.cpp:119
Definition: ModuleSettings.h:36
XMLSettingsWriter(const char *filename)
Definition: XMLSettingsWriter.cpp:54
virtual void write(const ModuleSettings &dspSettings)
Definition: XMLSettingsWriter.cpp:70
static void writeValue(tinyxml2::XMLPrinter &printer, unsigned value)
Definition: XMLSettingsWriter.cpp:271
Definition: functions.h:26