Move MetricsObserverInterface out of peerconnectioninterface.h
This change moves the definition of the UMA MetricsObserverInterface from api/peerconnectioninterface.h into api/umametrics.h. This allows us to remove the unwanted dependency on peerconnectioninterface.h from files in webrtc/p2p. This is a simple refactoring with no functional changes. BUG=None Review-Url: https://codereview.webrtc.org/2627093005 Cr-Commit-Position: refs/heads/master@{#16020}
This commit is contained in:
@ -13,6 +13,8 @@
|
||||
#ifndef WEBRTC_API_UMAMETRICS_H_
|
||||
#define WEBRTC_API_UMAMETRICS_H_
|
||||
|
||||
#include "webrtc/base/refcount.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// Used to specify which enum counter type we're incrementing in
|
||||
@ -109,6 +111,33 @@ enum IceCandidatePairType {
|
||||
kIceCandidatePairMax
|
||||
};
|
||||
|
||||
class MetricsObserverInterface : public rtc::RefCountInterface {
|
||||
public:
|
||||
|
||||
// |type| is the type of the enum counter to be incremented. |counter|
|
||||
// is the particular counter in that type. |counter_max| is the next sequence
|
||||
// number after the highest counter.
|
||||
virtual void IncrementEnumCounter(PeerConnectionEnumCounterType type,
|
||||
int counter,
|
||||
int counter_max) {}
|
||||
|
||||
// This is used to handle sparse counters like SSL cipher suites.
|
||||
// TODO(guoweis): Remove the implementation once the dependency's interface
|
||||
// definition is updated.
|
||||
virtual void IncrementSparseEnumCounter(PeerConnectionEnumCounterType type,
|
||||
int counter) {
|
||||
IncrementEnumCounter(type, counter, 0 /* Ignored */);
|
||||
}
|
||||
|
||||
virtual void AddHistogramSample(PeerConnectionMetricsName type,
|
||||
int value) = 0;
|
||||
|
||||
protected:
|
||||
virtual ~MetricsObserverInterface() {}
|
||||
};
|
||||
|
||||
typedef MetricsObserverInterface UMAObserver;
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // WEBRTC_API_UMAMETRICS_H_
|
||||
|
||||
Reference in New Issue
Block a user