summaryrefslogtreecommitdiffstats
path: root/base/logging_win.cc
diff options
context:
space:
mode:
authorsatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-04 23:00:10 +0000
committersatish@chromium.org <satish@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-12-04 23:00:10 +0000
commit864b558217c75dbdebea9db3568056292d4cd274 (patch)
tree06bd9f240065ed47fab9ff415ae4cd49f21facf1 /base/logging_win.cc
parent8c9e61a02aad4d8baa0f75ae7ac2f2f1963fffd6 (diff)
downloadchromium_src-864b558217c75dbdebea9db3568056292d4cd274.zip
chromium_src-864b558217c75dbdebea9db3568056292d4cd274.tar.gz
chromium_src-864b558217c75dbdebea9db3568056292d4cd274.tar.bz2
This CL add a GetInstance() method to singleton classes instead of relying on the callers to use Singleton<T>.
In some cases I have used the LazyInstance<T> pattern as that was simpler. This is a small step towards making all singleton classes use the Singleton<T> pattern within their code and not expect the callers to know about it. I have selected all files under src/app and src/base which use Singleton<T> in this CL. Once this CL goes in I'll work on the rest of the files. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5527004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68300 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/logging_win.cc')
-rw-r--r--base/logging_win.cc19
1 files changed, 8 insertions, 11 deletions
diff --git a/base/logging_win.cc b/base/logging_win.cc
index 42610b5..f780b5e 100644
--- a/base/logging_win.cc
+++ b/base/logging_win.cc
@@ -6,14 +6,6 @@
#include "base/singleton.h"
#include <initguid.h> // NOLINT
-namespace {
-
-typedef StaticMemorySingletonTraits<logging::LogEventProvider>
- LogEventSingletonTraits;
-Singleton<logging::LogEventProvider, LogEventSingletonTraits> log_provider;
-
-} // namespace
-
namespace logging {
using base::win::EtwEventLevel;
@@ -25,6 +17,11 @@ DEFINE_GUID(kLogEventId,
LogEventProvider::LogEventProvider() : old_log_level_(LOG_NONE) {
}
+LogEventProvider* LogEventProvider::GetInstance() {
+ return Singleton<LogEventProvider,
+ StaticMemorySingletonTraits<LogEventProvider> >::get();
+}
+
bool LogEventProvider::LogMessage(logging::LogSeverity severity,
const char* file, int line, size_t message_start,
const std::string& message) {
@@ -53,7 +50,7 @@ bool LogEventProvider::LogMessage(logging::LogSeverity severity,
// Bail if we're not logging, not at that level,
// or if we're post-atexit handling.
- LogEventProvider* provider = log_provider.get();
+ LogEventProvider* provider = LogEventProvider::GetInstance();
if (provider == NULL || level > provider->enable_level())
return false;
@@ -100,7 +97,7 @@ bool LogEventProvider::LogMessage(logging::LogSeverity severity,
}
void LogEventProvider::Initialize(const GUID& provider_name) {
- LogEventProvider* provider = log_provider.get();
+ LogEventProvider* provider = LogEventProvider::GetInstance();
provider->set_provider_name(provider_name);
provider->Register();
@@ -110,7 +107,7 @@ void LogEventProvider::Initialize(const GUID& provider_name) {
}
void LogEventProvider::Uninitialize() {
- log_provider.get()->Unregister();
+ LogEventProvider::GetInstance()->Unregister();
}
void LogEventProvider::OnEventsEnabled() {