Senzing C++ SDK
C++ SDK for Senzing v4, patterned after the official C# SDK
Loading...
Searching...
No Matches
SzConfigManager.hpp
Go to the documentation of this file.
1// SzConfigManager.hpp -- abstract interface mirroring C# Senzing.Sdk.SzConfigManager.
2#ifndef SENZING_SDK_SZCONFIGMANAGER_HPP
3#define SENZING_SDK_SZCONFIGMANAGER_HPP
4
5#include <cstdint>
6#include <memory>
7#include <string>
8
10
11namespace senzing::sdk {
12
19public:
20 virtual ~SzConfigManager() = default;
21
23 virtual std::unique_ptr<SzConfig> CreateConfig() = 0;
24
26 virtual std::unique_ptr<SzConfig> CreateConfig(
27 const std::string& configDefinition) = 0;
28
30 virtual std::unique_ptr<SzConfig> CreateConfig(int64_t configID) = 0;
31
33 virtual int64_t RegisterConfig(const std::string& configDefinition,
34 const std::string& configComment) = 0;
35
37 virtual int64_t RegisterConfig(const std::string& configDefinition) = 0;
38
40 virtual std::string GetConfigRegistry() = 0;
41
43 virtual int64_t GetDefaultConfigID() = 0;
44
47 virtual void ReplaceDefaultConfigID(int64_t currentDefaultConfigID,
48 int64_t newDefaultConfigID) = 0;
49
51 virtual void SetDefaultConfigID(int64_t configID) = 0;
52
55 virtual int64_t SetDefaultConfig(const std::string& configDefinition,
56 const std::string& configComment) = 0;
57
59 virtual int64_t SetDefaultConfig(const std::string& configDefinition) = 0;
60};
61
62} // namespace senzing::sdk
63
64#endif // SENZING_SDK_SZCONFIGMANAGER_HPP
Manages persisted Senzing configurations and the default config registry.
Definition SzConfigManager.hpp:18
virtual std::unique_ptr< SzConfig > CreateConfig(int64_t configID)=0
Loads the persisted config with the given ID into a new in-memory config.
virtual void SetDefaultConfigID(int64_t configID)=0
Sets the default configuration ID.
virtual void ReplaceDefaultConfigID(int64_t currentDefaultConfigID, int64_t newDefaultConfigID)=0
Atomically replaces the default config ID if it currently matches currentDefaultConfigID.
virtual int64_t RegisterConfig(const std::string &configDefinition)=0
Registers a config definition (auto-generated comment); returns the ID.
virtual std::unique_ptr< SzConfig > CreateConfig(const std::string &configDefinition)=0
Creates an in-memory config from the supplied JSON definition.
virtual int64_t RegisterConfig(const std::string &configDefinition, const std::string &configComment)=0
Registers a config definition with a comment; returns the new config ID.
virtual std::string GetConfigRegistry()=0
Returns JSON describing all registered configurations.
virtual int64_t SetDefaultConfig(const std::string &configDefinition)=0
Registers configDefinition (auto comment) and sets it as default.
virtual ~SzConfigManager()=default
virtual std::unique_ptr< SzConfig > CreateConfig()=0
Creates a new in-memory config from the registered template.
virtual int64_t GetDefaultConfigID()=0
Returns the current default configuration ID.
virtual int64_t SetDefaultConfig(const std::string &configDefinition, const std::string &configComment)=0
Registers configDefinition (with comment) and sets it as default; returns the new config ID.
Definition SzCoreConfig.hpp:20