diff options
author | kouhei@chromium.org <kouhei@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 21:59:07 +0000 |
---|---|---|
committer | kouhei@chromium.org <kouhei@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-07 21:59:07 +0000 |
commit | e7c6aaf0b8813bd67d4087200d549f8b5f1895fc (patch) | |
tree | 1d66eed2ead623c9a1375623d812e93532d52198 /remoting | |
parent | 245f332a127f4d6039b907bfb3e9e78963452f0e (diff) | |
download | chromium_src-e7c6aaf0b8813bd67d4087200d549f8b5f1895fc.zip chromium_src-e7c6aaf0b8813bd67d4087200d549f8b5f1895fc.tar.gz chromium_src-e7c6aaf0b8813bd67d4087200d549f8b5f1895fc.tar.bz2 |
Refactor net::NetLog to provide implementation of observer pattern, not just the interface.
This would make use of net::NetLog::ThreadSafeObserver available from base/net, so custom NetLog implementations can focus on implementing OnAddEntry() without re-implementing all NetLog methods.
The implementation of observer pattern was previously provided in ChromeNetLog.
The contents of chrome_net_log_unittest are merged to net_log_unittest.
TESTS=net_log_unittest
BUG=None
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=204861
Review URL: https://chromiumcodereview.appspot.com/16137008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204946 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting')
-rw-r--r-- | remoting/host/vlog_net_log.cc | 42 | ||||
-rw-r--r-- | remoting/host/vlog_net_log.h | 14 |
2 files changed, 23 insertions, 33 deletions
diff --git a/remoting/host/vlog_net_log.cc b/remoting/host/vlog_net_log.cc index 05e9a35..2e2e436 100644 --- a/remoting/host/vlog_net_log.cc +++ b/remoting/host/vlog_net_log.cc @@ -13,13 +13,25 @@ namespace remoting { -VlogNetLog::VlogNetLog() : id_(0) { +class VlogNetLog::Observer : public net::NetLog::ThreadSafeObserver { + public: + Observer(); + virtual ~Observer(); + + // NetLog::ThreadSafeObserver overrides: + virtual void OnAddEntry(const net::NetLog::Entry& entry) OVERRIDE; + + private: + DISALLOW_COPY_AND_ASSIGN(Observer); +}; + +VlogNetLog::Observer::Observer() { } -VlogNetLog::~VlogNetLog() { +VlogNetLog::Observer::~Observer() { } -void VlogNetLog::OnAddEntry(const NetLog::Entry& entry) { +void VlogNetLog::Observer::OnAddEntry(const net::NetLog::Entry& entry) { if (VLOG_IS_ON(4)) { scoped_ptr<Value> value(entry.ToValue()); std::string json; @@ -28,27 +40,13 @@ void VlogNetLog::OnAddEntry(const NetLog::Entry& entry) { } } -uint32 VlogNetLog::NextID() { - // TODO(mmenke): Make this threadsafe and start with 1 instead of 0. - return id_++; -} - -net::NetLog::LogLevel VlogNetLog::GetLogLevel() const { - return LOG_ALL_BUT_BYTES; +VlogNetLog::VlogNetLog() + : observer_(new Observer()) { + AddThreadSafeObserver(observer_.get(), LOG_ALL_BUT_BYTES); } -void VlogNetLog::AddThreadSafeObserver(ThreadSafeObserver* observer, - net::NetLog::LogLevel log_level) { - NOTIMPLEMENTED(); -} - -void VlogNetLog::SetObserverLogLevel(ThreadSafeObserver* observer, - net::NetLog::LogLevel log_level) { - NOTIMPLEMENTED(); -} - -void VlogNetLog::RemoveThreadSafeObserver(ThreadSafeObserver* observer) { - NOTIMPLEMENTED(); +VlogNetLog::~VlogNetLog() { + RemoveThreadSafeObserver(observer_.get()); } } // namespace remoting diff --git a/remoting/host/vlog_net_log.h b/remoting/host/vlog_net_log.h index d056a3a..393ab1c 100644 --- a/remoting/host/vlog_net_log.h +++ b/remoting/host/vlog_net_log.h @@ -6,6 +6,7 @@ #define REMOTING_HOST_VLOG_NET_LOG_H_ #include "base/memory/scoped_handle.h" +#include "base/memory/scoped_ptr.h" #include "net/base/net_log.h" namespace remoting { @@ -19,18 +20,9 @@ class VlogNetLog : public net::NetLog { VlogNetLog(); virtual ~VlogNetLog(); - // NetLog overrides: - virtual void OnAddEntry(const NetLog::Entry& entry) OVERRIDE; - virtual uint32 NextID() OVERRIDE; - virtual LogLevel GetLogLevel() const OVERRIDE; - virtual void AddThreadSafeObserver(ThreadSafeObserver* observer, - LogLevel log_level) OVERRIDE; - virtual void SetObserverLogLevel(ThreadSafeObserver* observer, - LogLevel log_level) OVERRIDE; - virtual void RemoveThreadSafeObserver(ThreadSafeObserver* observer) OVERRIDE; - private: - uint32 id_; + class Observer; + scoped_ptr<Observer> observer_; DISALLOW_COPY_AND_ASSIGN(VlogNetLog); }; |