summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authorkouhei@chromium.org <kouhei@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-07 21:59:07 +0000
committerkouhei@chromium.org <kouhei@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-07 21:59:07 +0000
commite7c6aaf0b8813bd67d4087200d549f8b5f1895fc (patch)
tree1d66eed2ead623c9a1375623d812e93532d52198 /remoting
parent245f332a127f4d6039b907bfb3e9e78963452f0e (diff)
downloadchromium_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.cc42
-rw-r--r--remoting/host/vlog_net_log.h14
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);
};