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:
skvlad
2017-01-11 17:50:30 -08:00
committed by Commit bot
parent fce6f825b4
commit 1d3c7e0b16
4 changed files with 31 additions and 29 deletions

View File

@ -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_