OLD | NEW |
| (Empty) |
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. | |
4 | |
5 #ifndef CHROME_BROWSER_METRICS_TRACKING_SYNCHRONIZER_OBSERVER_H_ | |
6 #define CHROME_BROWSER_METRICS_TRACKING_SYNCHRONIZER_OBSERVER_H_ | |
7 | |
8 namespace tracked_objects { | |
9 struct ProcessDataSnapshot; | |
10 } | |
11 | |
12 namespace chrome_browser_metrics { | |
13 | |
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; | |
23 | |
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() {} | |
28 | |
29 protected: | |
30 TrackingSynchronizerObserver() {} | |
31 virtual ~TrackingSynchronizerObserver() {} | |
32 | |
33 private: | |
34 DISALLOW_COPY_AND_ASSIGN(TrackingSynchronizerObserver); | |
35 }; | |
36 | |
37 } // namespace chrome_browser_metrics | |
38 | |
39 #endif // CHROME_BROWSER_METRICS_TRACKING_SYNCHRONIZER_OBSERVER_H_ | |
OLD | NEW |