Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / metrics / tracking_synchronizer_observer.h
blob9dc1d7528e928031d104c0109073b17846807753
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_METRICS_TRACKING_SYNCHRONIZER_OBSERVER_H_
6 #define CHROME_BROWSER_METRICS_TRACKING_SYNCHRONIZER_OBSERVER_H_
8 namespace tracked_objects {
9 struct ProcessDataSnapshot;
12 namespace chrome_browser_metrics {
14 // Observer for notifications from the TrackingSynchronizer class.
15 class TrackingSynchronizerObserver {
16 public:
17 // Received |profiler_data| from a single process of |process_type|.
18 // The observer should assume there might be more data coming until
19 // |FinishedReceivingData()| is called.
20 virtual void ReceivedProfilerData(
21 const tracked_objects::ProcessDataSnapshot& profiler_data,
22 int process_type) = 0;
24 // The observer should not expect any more calls to |ReceivedProfilerData()|
25 // (without re-registering). This is sent either when data from all processes
26 // has been gathered, or when the request times out.
27 virtual void FinishedReceivingProfilerData() {}
29 protected:
30 TrackingSynchronizerObserver() {}
31 virtual ~TrackingSynchronizerObserver() {}
33 private:
34 DISALLOW_COPY_AND_ASSIGN(TrackingSynchronizerObserver);
37 } // namespace chrome_browser_metrics
39 #endif // CHROME_BROWSER_METRICS_TRACKING_SYNCHRONIZER_OBSERVER_H_