diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-25 23:44:20 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-25 23:44:20 +0000 |
commit | 6192f73a9dd17c950ef1ca97db086e8bc4eaf05e (patch) | |
tree | 7af372f9670e74b144d17f1f7c009a9eb13a74a2 /net/disk_cache/trace.h | |
parent | 1ba590018ad58ea18ec3079f089feb64fd951d87 (diff) | |
download | chromium_src-6192f73a9dd17c950ef1ca97db086e8bc4eaf05e.zip chromium_src-6192f73a9dd17c950ef1ca97db086e8bc4eaf05e.tar.gz chromium_src-6192f73a9dd17c950ef1ca97db086e8bc4eaf05e.tar.bz2 |
Disk cache: First pass to make it possible to have
multiple instances of BackendImpl. We need multiple
objects to be able to support media files on the cache.
After this change, histograms will be the only thing that
get messed up by multiple disk caches.
Review URL: http://codereview.chromium.org/49027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12520 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/disk_cache/trace.h')
-rw-r--r-- | net/disk_cache/trace.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/net/disk_cache/trace.h b/net/disk_cache/trace.h index 50dda3c..be50417 100644 --- a/net/disk_cache/trace.h +++ b/net/disk_cache/trace.h @@ -13,24 +13,29 @@ #include <vector> #include "base/basictypes.h" +#include "base/ref_counted.h" namespace disk_cache { // Create and destroy the tracing buffer. -bool InitTrace(void); +void InitTrace(void); void DestroyTrace(void); -// Simple class to handle the trace buffer lifetime. -class TraceObject { +// Simple class to handle the trace buffer lifetime. Any object interested in +// tracing should keep a reference to the object returned by GetTraceObject(). +class TraceObject : public base::RefCounted<TraceObject> { + friend class base::RefCounted<TraceObject>; public: + static TraceObject* GetTraceObject(); + + private: TraceObject() { InitTrace(); } + ~TraceObject() { DestroyTrace(); } - - private: DISALLOW_EVIL_CONSTRUCTORS(TraceObject); }; |