summaryrefslogtreecommitdiffstats
path: root/base/logging_win.h
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.h
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.h')
-rw-r--r--base/logging_win.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/base/logging_win.h b/base/logging_win.h
index 695c7f2..9058c84 100644
--- a/base/logging_win.h
+++ b/base/logging_win.h
@@ -11,6 +11,9 @@
#include "base/win/event_trace_provider.h"
#include "base/logging.h"
+template <typename Type>
+struct StaticMemorySingletonTraits;
+
namespace logging {
// Event ID for the log messages we generate.
@@ -47,7 +50,7 @@ enum LogMessageTypes {
// with Event Tracing for Windows.
class LogEventProvider : public base::win::EtwTraceProvider {
public:
- LogEventProvider();
+ static LogEventProvider* GetInstance();
static bool LogMessage(logging::LogSeverity severity, const char* file,
int line, size_t message_start, const std::string& str);
@@ -61,10 +64,13 @@ class LogEventProvider : public base::win::EtwTraceProvider {
virtual void OnEventsDisabled();
private:
+ LogEventProvider();
+
// The log severity prior to OnEventsEnabled,
// restored in OnEventsDisabled.
logging::LogSeverity old_log_level_;
+ friend struct StaticMemorySingletonTraits<LogEventProvider>;
DISALLOW_COPY_AND_ASSIGN(LogEventProvider);
};