diff --git a/core/settings/settings.h b/core/settings/settings.h index f24fc6a..f62e687 100644 --- a/core/settings/settings.h +++ b/core/settings/settings.h @@ -5,8 +5,8 @@ #include "core/object.h" -#include "core/variant.h" #include "core/string.h" +#include "core/variant.h" class Settings : public Object { RCPP_OBJECT(Settings, Object); @@ -29,9 +29,10 @@ public: virtual ~Settings(); protected: - static Settings *_singleton; - std::map _data; + +private: + static Settings *_singleton; }; #endif \ No newline at end of file diff --git a/database_modules/db_settings/db_settings.cpp b/database_modules/db_settings/db_settings.cpp index fe736ac..4dc347d 100644 --- a/database_modules/db_settings/db_settings.cpp +++ b/database_modules/db_settings/db_settings.cpp @@ -70,11 +70,21 @@ void DBSettings::set_table(const String &table) { _table = table; } +DBSettings *DBSettings::get_singleton() { + return _db_settings_singleton; +} + DBSettings::DBSettings(const bool singleton) : Settings(singleton) { _table = "settings"; + + if (singleton) { + _db_settings_singleton = this; + } } DBSettings::~DBSettings() { } + +DBSettings *DBSettings::_db_settings_singleton = nullptr; \ No newline at end of file diff --git a/database_modules/db_settings/db_settings.h b/database_modules/db_settings/db_settings.h index f3d0b3e..59104ec 100644 --- a/database_modules/db_settings/db_settings.h +++ b/database_modules/db_settings/db_settings.h @@ -15,6 +15,8 @@ public: void set_table(const String &table); + static DBSettings *get_singleton(); + DBSettings(const bool singleton = false); virtual ~DBSettings(); @@ -22,6 +24,9 @@ protected: String _table; std::map _key_map; + +private: + static DBSettings *_db_settings_singleton; }; #endif \ No newline at end of file