Index: chrome/browser/net/chrome_net_log.h |
=================================================================== |
--- chrome/browser/net/chrome_net_log.h (revision 0) |
+++ chrome/browser/net/chrome_net_log.h (revision 0) |
@@ -0,0 +1,54 @@ |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_NET_CHROME_NET_LOG_H_ |
+#define CHROME_BROWSER_NET_CHROME_NET_LOG_H_ |
+ |
+#include "base/observer_list.h" |
+#include "net/base/net_log.h" |
+ |
+class PassiveLogCollector; |
+ |
+// ChromeNetLog is an implementation of NetLog that dispatches network log |
+// messages to a list of observers. |
+// |
+// By default, ChromeNetLog will attach the observer PassiveLogCollector which |
+// will keep track of recent request information (which used when displaying |
+// the about:net-internals page). |
+// |
+// TODO(eroman): Move this default observer out of ChromeNetLog. |
+// |
+class ChromeNetLog : public net::NetLog { |
+ public: |
+ // Interface for observing the events logged by the network stack. |
+ class Observer { |
+ public: |
+ virtual ~Observer() {} |
+ virtual void OnAddEntry(const Entry& entry) = 0; |
+ }; |
+ |
+ ChromeNetLog(); |
+ ~ChromeNetLog(); |
+ |
+ // NetLog implementation: |
+ virtual void AddEntry(const Entry& entry); |
+ virtual int NextID(); |
+ virtual bool HasListener() const; |
+ |
+ void AddObserver(Observer* observer); |
+ void RemoveObserver(Observer* observer); |
+ |
+ PassiveLogCollector* passive_collector() { |
+ return passive_collector_.get(); |
+ } |
+ |
+ private: |
+ int next_id_; |
+ scoped_ptr<PassiveLogCollector> passive_collector_; |
+ ObserverList<Observer, true> observers_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ChromeNetLog); |
+}; |
+ |
+#endif // CHROME_BROWSER_NET_CHROME_NET_LOG_H_ |
Property changes on: chrome\browser\net\chrome_net_log.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |