From 21000c67496cbaccdcb948b496b50ca48f460bd9 Mon Sep 17 00:00:00 2001 From: Damian Meden Date: Tue, 7 Jun 2022 17:37:00 +0100 Subject: [PATCH] Make FileManager ctor private. Fix singleton class by making his ctor private and also explicitly add code to avoid any copies. --- mgmt2/config/FileManager.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mgmt2/config/FileManager.h b/mgmt2/config/FileManager.h index d7812f3a408..4746e67d6a7 100644 --- a/mgmt2/config/FileManager.h +++ b/mgmt2/config/FileManager.h @@ -106,8 +106,6 @@ class FileManager return isRequired; } - // FileManager *configFiles = nullptr; // Manager to notify on an update. - // noncopyable ConfigManager(const ConfigManager &) = delete; ConfigManager &operator=(const ConfigManager &) = delete; @@ -126,8 +124,10 @@ class FileManager using CallbackType = std::function; - FileManager(); ~FileManager(); + FileManager(const FileManager &obj) = delete; + FileManager &operator=(FileManager const &) = delete; + void addFile(const char *fileName, const char *configName, bool root_access_needed, bool isRequired, ConfigManager *parentConfig = nullptr); @@ -156,6 +156,8 @@ class FileManager } private: + FileManager(); + ink_mutex accessLock; // Protects bindings hashtable ConfigUpdateCbTable *_pluginCallbackList;