| // Copyright (c) 2012 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 CONTENT_BROWSER_HISTOGRAM_SUBSCRIBER_H_ | 
 | #define CONTENT_BROWSER_HISTOGRAM_SUBSCRIBER_H_ | 
 |  | 
 | #include <string> | 
 | #include <vector> | 
 |  | 
 | namespace content { | 
 |  | 
 | // Objects interested in receiving histograms derive from HistogramSubscriber. | 
 | class HistogramSubscriber { | 
 |  public: | 
 |   virtual ~HistogramSubscriber() {} | 
 |  | 
 |   // Send number of pending processes to subscriber. |end| is set to true if it | 
 |   // is the last time. This is called on the UI thread. | 
 |   virtual void OnPendingProcesses(int sequence_number, | 
 |                                   int pending_processes, | 
 |                                   bool end) = 0; | 
 |  | 
 |   // Send |histogram| back to subscriber. | 
 |   // This is called on the UI thread. | 
 |   virtual void OnHistogramDataCollected( | 
 |       int sequence_number, | 
 |       const std::vector<std::string>& pickled_histograms) = 0; | 
 | }; | 
 |  | 
 | }  // namespace content | 
 |  | 
 | #endif  // CONTENT_BROWSER_HISTOGRAM_SUBSCRIBER_H_ |