ed683d49363cac0767125f1629c0d0060d92034c
[WebKit-https.git] / Source / WebCore / Modules / mediastream / MediaEndpointPeerConnection.cpp
1 /*
2  * Copyright (C) 2015 Ericsson AB. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer
12  *    in the documentation and/or other materials provided with the
13  *    distribution.
14  * 3. Neither the name of Ericsson nor the names of its contributors
15  *    may be used to endorse or promote products derived from this
16  *    software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30
31 #include "config.h"
32
33 #if ENABLE(MEDIA_STREAM)
34 #include "MediaEndpointPeerConnection.h"
35
36 #include "DOMError.h"
37 #include "JSDOMError.h"
38 #include <wtf/MainThread.h>
39
40 namespace WebCore {
41
42 using namespace PeerConnection;
43
44 static std::unique_ptr<PeerConnectionBackend> createMediaEndpointPeerConnection(PeerConnectionBackendClient* client)
45 {
46     return std::unique_ptr<PeerConnectionBackend>(new MediaEndpointPeerConnection(client));
47 }
48
49 CreatePeerConnectionBackend PeerConnectionBackend::create = createMediaEndpointPeerConnection;
50
51 MediaEndpointPeerConnection::MediaEndpointPeerConnection(PeerConnectionBackendClient* client)
52 {
53     UNUSED_PARAM(client);
54 }
55
56 void MediaEndpointPeerConnection::createOffer(RTCOfferOptions& options, SessionDescriptionPromise&& promise)
57 {
58     UNUSED_PARAM(options);
59
60     notImplemented();
61
62     promise.reject(DOMError::create("NotSupportedError"));
63 }
64
65 void MediaEndpointPeerConnection::createAnswer(RTCAnswerOptions& options, SessionDescriptionPromise&& promise)
66 {
67     UNUSED_PARAM(options);
68
69     notImplemented();
70
71     promise.reject(DOMError::create("NotSupportedError"));
72 }
73
74 void MediaEndpointPeerConnection::setLocalDescription(RTCSessionDescription& description, VoidPromise&& promise)
75 {
76     UNUSED_PARAM(description);
77
78     notImplemented();
79
80     promise.reject(DOMError::create("NotSupportedError"));
81 }
82
83 RefPtr<RTCSessionDescription> MediaEndpointPeerConnection::localDescription() const
84 {
85     notImplemented();
86
87     return nullptr;
88 }
89
90 RefPtr<RTCSessionDescription> MediaEndpointPeerConnection::currentLocalDescription() const
91 {
92     notImplemented();
93
94     return nullptr;
95 }
96
97 RefPtr<RTCSessionDescription> MediaEndpointPeerConnection::pendingLocalDescription() const
98 {
99     notImplemented();
100
101     return nullptr;
102 }
103
104 void MediaEndpointPeerConnection::setRemoteDescription(RTCSessionDescription& description, VoidPromise&& promise)
105 {
106     UNUSED_PARAM(description);
107
108     notImplemented();
109
110     promise.reject(DOMError::create("NotSupportedError"));
111 }
112
113 RefPtr<RTCSessionDescription> MediaEndpointPeerConnection::remoteDescription() const
114 {
115     notImplemented();
116
117     return nullptr;
118 }
119
120 RefPtr<RTCSessionDescription> MediaEndpointPeerConnection::currentRemoteDescription() const
121 {
122     notImplemented();
123
124     return nullptr;
125 }
126
127 RefPtr<RTCSessionDescription> MediaEndpointPeerConnection::pendingRemoteDescription() const
128 {
129     notImplemented();
130
131     return nullptr;
132 }
133
134 void MediaEndpointPeerConnection::setConfiguration(RTCConfiguration& configuration)
135 {
136     UNUSED_PARAM(configuration);
137
138     notImplemented();
139 }
140
141 void MediaEndpointPeerConnection::addIceCandidate(RTCIceCandidate& rtcCandidate, PeerConnection::VoidPromise&& promise)
142 {
143     UNUSED_PARAM(rtcCandidate);
144
145     notImplemented();
146
147     promise.reject(DOMError::create("NotSupportedError"));
148 }
149
150 void MediaEndpointPeerConnection::getStats(MediaStreamTrack*, PeerConnection::StatsPromise&& promise)
151 {
152     notImplemented();
153
154     promise.reject(DOMError::create("NotSupportedError"));
155 }
156
157 void MediaEndpointPeerConnection::replaceTrack(RTCRtpSender& sender, MediaStreamTrack& withTrack, PeerConnection::VoidPromise&& promise)
158 {
159     UNUSED_PARAM(sender);
160     UNUSED_PARAM(withTrack);
161     UNUSED_PARAM(promise);
162
163     notImplemented();
164
165     promise.reject(DOMError::create("NotSupportedError"));
166 }
167
168 void MediaEndpointPeerConnection::stop()
169 {
170     notImplemented();
171 }
172
173 void MediaEndpointPeerConnection::markAsNeedingNegotiation()
174 {
175     notImplemented();
176 }
177
178 void MediaEndpointPeerConnection::gotDtlsFingerprint(const String& fingerprint, const String& fingerprintFunction)
179 {
180     ASSERT(isMainThread());
181
182     UNUSED_PARAM(fingerprint);
183     UNUSED_PARAM(fingerprintFunction);
184
185     notImplemented();
186 }
187
188 void MediaEndpointPeerConnection::gotIceCandidate(unsigned mdescIndex, RefPtr<IceCandidate>&& candidate)
189 {
190     ASSERT(isMainThread());
191
192     UNUSED_PARAM(mdescIndex);
193     UNUSED_PARAM(candidate);
194
195     notImplemented();
196 }
197
198 void MediaEndpointPeerConnection::doneGatheringCandidates(unsigned mdescIndex)
199 {
200     ASSERT(isMainThread());
201
202     UNUSED_PARAM(mdescIndex);
203
204     notImplemented();
205 }
206
207 void MediaEndpointPeerConnection::gotRemoteSource(unsigned mdescIndex, RefPtr<RealtimeMediaSource>&& source)
208 {
209     ASSERT(isMainThread());
210
211     UNUSED_PARAM(mdescIndex);
212     UNUSED_PARAM(source);
213
214     notImplemented();
215 }
216
217 } // namespace WebCore
218
219 #endif // ENABLE(MEDIA_STREAM)