RTCPeerConnectionHandlerClient.h [plain text]
#ifndef RTCPeerConnectionHandlerClient_h
#define RTCPeerConnectionHandlerClient_h
#if ENABLE(MEDIA_STREAM)
#include <wtf/PassRefPtr.h>
namespace WebCore {
class MediaStreamPrivate;
class RTCDataChannelHandler;
class RTCIceCandidateDescriptor;
class RTCPeerConnectionHandlerClient {
public:
enum SignalingState {
SignalingStateStable = 1,
SignalingStateHaveLocalOffer = 2,
SignalingStateHaveRemoteOffer = 3,
SignalingStateHaveLocalPrAnswer = 4,
SignalingStateHaveRemotePrAnswer = 5,
SignalingStateClosed = 6,
};
enum IceConnectionState {
IceConnectionStateNew = 1,
IceConnectionStateChecking = 2,
IceConnectionStateConnected = 3,
IceConnectionStateCompleted = 4,
IceConnectionStateFailed = 5,
IceConnectionStateDisconnected = 6,
IceConnectionStateClosed = 7
};
enum IceGatheringState {
IceGatheringStateNew = 1,
IceGatheringStateGathering = 2,
IceGatheringStateComplete = 3
};
virtual ~RTCPeerConnectionHandlerClient() { }
virtual void negotiationNeeded() = 0;
virtual void didGenerateIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) = 0;
virtual void didChangeSignalingState(SignalingState) = 0;
virtual void didChangeIceGatheringState(IceGatheringState) = 0;
virtual void didChangeIceConnectionState(IceConnectionState) = 0;
virtual void didAddRemoteStream(PassRefPtr<MediaStreamPrivate>) = 0;
virtual void didRemoveRemoteStream(MediaStreamPrivate*) = 0;
virtual void didAddRemoteDataChannel(std::unique_ptr<RTCDataChannelHandler>) = 0;
};
}
#endif // ENABLE(MEDIA_STREAM)
#endif // RTCPeerConnectionHandlerClient_h