PBConfiguration.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "PulseConfiguration.h"
6 PULSE_BIND_DECL(Configuration)
7 
8 namespace pulse
9 {
10  class PULSE_DECL PBConfiguration
11  {
12  public:
13 
14  static void Load(const PULSE_BIND::ConfigurationData& src, PulseConfiguration& dst, SESubstanceManager& subMgr);
15  static PULSE_BIND::ConfigurationData* Unload(const PulseConfiguration& src);
16  static void Serialize(const PULSE_BIND::ConfigurationData& src, PulseConfiguration& dst, SESubstanceManager& subMgr, bool merge = false);
17  static void Serialize(const PulseConfiguration& src, PULSE_BIND::ConfigurationData& dst);
18  static void Merge(const PulseConfiguration& src, PulseConfiguration& dst, SESubstanceManager& subMgr);
19 
20  static bool SerializeToString(const PulseConfiguration& src, std::string& output, eSerializationFormat m);
21  static bool SerializeToFile(const PulseConfiguration& src, const std::string& filename);
22  static bool SerializeFromString(const std::string& src, PulseConfiguration& dst, eSerializationFormat m, SESubstanceManager& subMgr);
23  static bool SerializeFromFile(const std::string& filename, PulseConfiguration& dst, SESubstanceManager& subMgr);
24  };
25 END_NAMESPACE
Pulse specific configuration parameters for all systems/equipment
Definition: PulseConfiguration.h:20
Definition: SESubstanceManager.h:9
Definition: Logger.h:14

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.