#define RTCSessionDescriptionRequestImpl_h
#include "core/dom/ActiveDOMObject.h"
+#include "platform/heap/Handle.h"
#include "platform/mediastream/RTCSessionDescriptionRequest.h"
#include "wtf/PassOwnPtr.h"
#include "wtf/PassRefPtr.h"
namespace blink {
-class WebRTCSessionDescription;
-}
-
-namespace WebCore {
class RTCErrorCallback;
class RTCPeerConnection;
class RTCSessionDescriptionCallback;
+class WebRTCSessionDescription;
class RTCSessionDescriptionRequestImpl FINAL : public RTCSessionDescriptionRequest, public ActiveDOMObject {
public:
- static PassRefPtr<RTCSessionDescriptionRequestImpl> create(ExecutionContext*, PassOwnPtr<RTCSessionDescriptionCallback>, PassOwnPtr<RTCErrorCallback>);
+ static RTCSessionDescriptionRequestImpl* create(ExecutionContext*, RTCPeerConnection*, RTCSessionDescriptionCallback*, RTCErrorCallback*);
virtual ~RTCSessionDescriptionRequestImpl();
- virtual void requestSucceeded(const blink::WebRTCSessionDescription&) OVERRIDE;
+ virtual void requestSucceeded(const WebRTCSessionDescription&) OVERRIDE;
virtual void requestFailed(const String& error) OVERRIDE;
// ActiveDOMObject
virtual void stop() OVERRIDE;
+ virtual void trace(Visitor*) OVERRIDE;
+
private:
- RTCSessionDescriptionRequestImpl(ExecutionContext*, PassOwnPtr<RTCSessionDescriptionCallback>, PassOwnPtr<RTCErrorCallback>);
+ RTCSessionDescriptionRequestImpl(ExecutionContext*, RTCPeerConnection*, RTCSessionDescriptionCallback*, RTCErrorCallback*);
void clear();
- OwnPtr<RTCSessionDescriptionCallback> m_successCallback;
- OwnPtr<RTCErrorCallback> m_errorCallback;
+ Member<RTCSessionDescriptionCallback> m_successCallback;
+ Member<RTCErrorCallback> m_errorCallback;
+ Member<RTCPeerConnection> m_requester;
};
-} // namespace WebCore
+} // namespace blink
#endif // RTCSessionDescriptionRequestImpl_h
-
-