diff options
author | satish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-11 09:13:54 +0000 |
---|---|---|
committer | satish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-12-11 09:13:54 +0000 |
commit | 49ab556cfe14de363a74ce771931832304a1a038 (patch) | |
tree | 7703457c54a035f2eebe38babecaba12b6bfb975 /printing | |
parent | 0310169705d607a78bc288e74038fe104b4474fd (diff) | |
download | chromium_src-49ab556cfe14de363a74ce771931832304a1a038.zip chromium_src-49ab556cfe14de363a74ce771931832304a1a038.tar.gz chromium_src-49ab556cfe14de363a74ce771931832304a1a038.tar.bz2 |
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@68932 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing')
-rw-r--r-- | printing/backend/print_backend_cups.cc | 7 | ||||
-rw-r--r-- | printing/printed_document.cc | 15 |
2 files changed, 13 insertions, 9 deletions
diff --git a/printing/backend/print_backend_cups.cc b/printing/backend/print_backend_cups.cc index 9fbf2ab..e75a800 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 @@ class GcryptInitializer { } }; +static base::LazyInstance<GcryptInitializer> g_gcrypt_initializer( + base::LINKER_INITIALIZED); + } // namespace #endif @@ -188,7 +191,7 @@ scoped_refptr<PrintBackend> PrintBackend::CreateInstance( 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; diff --git a/printing/printed_document.cc b/printing/printed_document.cc index 75d4b95..0880da5 100644 --- a/printing/printed_document.cc +++ b/printing/printed_document.cc @@ -13,8 +13,8 @@ #include "base/file_path.h" #include "base/file_util.h" #include "base/i18n/file_util_icu.h" +#include "base/lazy_instance.h" #include "base/message_loop.h" -#include "base/singleton.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" #include "base/i18n/time_formatting.h" @@ -37,7 +37,8 @@ struct PrintDebugDumpPath { FilePath debug_dump_path; }; -Singleton<PrintDebugDumpPath> g_debug_dump_info; +static base::LazyInstance<PrintDebugDumpPath> g_debug_dump_info( + base::LINKER_INITIALIZED); } // namespace @@ -244,7 +245,7 @@ void PrintedDocument::PrintHeaderFooter(gfx::NativeDrawingContext context, } void PrintedDocument::DebugDump(const PrintedPage& page) { - if (!g_debug_dump_info->enabled) + if (!g_debug_dump_info.Get().enabled) return; string16 filename; @@ -258,19 +259,19 @@ void PrintedDocument::DebugDump(const PrintedPage& page) { filename += ASCIIToUTF16("_.emf"); #if defined(OS_WIN) page.native_metafile()->SaveTo( - g_debug_dump_info->debug_dump_path.Append(filename).ToWStringHack()); + g_debug_dump_info.Get().debug_dump_path.Append(filename).ToWStringHack()); #else // OS_WIN NOTIMPLEMENTED(); #endif // OS_WIN } void PrintedDocument::set_debug_dump_path(const FilePath& debug_dump_path) { - g_debug_dump_info->enabled = !debug_dump_path.empty(); - g_debug_dump_info->debug_dump_path = debug_dump_path; + g_debug_dump_info.Get().enabled = !debug_dump_path.empty(); + g_debug_dump_info.Get().debug_dump_path = debug_dump_path; } const FilePath& PrintedDocument::debug_dump_path() { - return g_debug_dump_info->debug_dump_path; + return g_debug_dump_info.Get().debug_dump_path; } PrintedDocument::Mutable::Mutable(PrintedPagesSource* source) |