RTCStatsRequestImpl.h [plain text]
#ifndef RTCStatsRequestImpl_h
#define RTCStatsRequestImpl_h
#if ENABLE(MEDIA_STREAM)
#include "ActiveDOMObject.h"
#include "RTCStatsRequest.h"
#include "RTCStatsResponse.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class RTCStatsCallback;
class RTCPeerConnectionErrorCallback;
class RTCStatsRequestImpl : public RTCStatsRequest, public ActiveDOMObject {
public:
static Ref<RTCStatsRequestImpl> create(ScriptExecutionContext*, PassRefPtr<RTCStatsCallback>, PassRefPtr<RTCPeerConnectionErrorCallback>, PassRefPtr<MediaStreamTrackPrivate>);
virtual ~RTCStatsRequestImpl();
virtual PassRefPtr<RTCStatsResponseBase> createResponse() override;
virtual bool hasSelector() override;
virtual MediaStreamTrackPrivate* track() override;
virtual void requestSucceeded(PassRefPtr<RTCStatsResponseBase>) override;
virtual void requestFailed(const String&) override;
private:
RTCStatsRequestImpl(ScriptExecutionContext*, PassRefPtr<RTCStatsCallback>, PassRefPtr<RTCPeerConnectionErrorCallback>, PassRefPtr<MediaStreamTrackPrivate>);
void stop() override;
const char* activeDOMObjectName() const override;
bool canSuspendForPageCache() const override;
void clear();
RefPtr<RTCStatsCallback> m_successCallback;
RefPtr<RTCPeerConnectionErrorCallback> m_errorCallback;
RefPtr<MediaStreamTrackPrivate> m_track;
};
}
#endif // ENABLE(MEDIA_STREAM)
#endif // RTCStatsRequestImpl_h