Roll src/third_party/skia de7665a:76033be
[chromium-blink-merge.git] / components / metrics / profiler / tracking_synchronizer_observer.h
blobb9301bb268e4d0c97319916752f2d31dd231834e
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 COMPONENTS_METRICS_PROFILER_TRACKING_SYNCHRONIZER_OBSERVER_H_
6 #define COMPONENTS_METRICS_PROFILER_TRACKING_SYNCHRONIZER_OBSERVER_H_
8 namespace tracked_objects {
9 struct ProcessDataSnapshot;
12 namespace 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 metrics
39 #endif // COMPONENTS_METRICS_PROFILER_TRACKING_SYNCHRONIZER_OBSERVER_H_