Make members of Singleton<T> private and only visible to the singleton type. This enforces that the Singleton<T> pattern can only be used within classes which want singleton-ness.
As part of this CL I have also fixed up files which got missed in my previous CLs to use a GetInstance() method and use Singleton<T> from the source file.
There are a small number of places where I have also switched to LazyInstance as that was more appropriate for types used in a single source file.
BUG=65298
TEST=all existing tests should continue to pass.
Review URL: http://codereview.chromium.org/5682008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69107 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/printing/backend/print_backend_cups.cc b/printing/backend/print_backend_cups.cc
index 9fbf2ab..e75a8003 100644
--- a/printing/backend/print_backend_cups.cc
+++ b/printing/backend/print_backend_cups.cc
@@ -12,9 +12,9 @@
#include <pthread.h>
#include "base/file_util.h"
+#include "base/lazy_instance.h"
#include "base/lock.h"
#include "base/logging.h"
-#include "base/singleton.h"
#include "base/string_number_conversions.h"
#include "base/values.h"
#include "googleurl/src/gurl.h"
@@ -66,6 +66,9 @@
}
};
+static base::LazyInstance<GcryptInitializer> g_gcrypt_initializer(
+ base::LINKER_INITIALIZED);
+
} // namespace
#endif
@@ -188,7 +191,7 @@
const DictionaryValue* print_backend_settings) {
#if !defined(OS_MACOSX)
// Initialize gcrypt library.
- Singleton<GcryptInitializer>::get();
+ g_gcrypt_initializer.Get();
#endif
std::string print_server_url_str;