initial import
[vuplus_webkit] / Source / WebCore / p2p / PeerConnection.idl
1 /*
2  * Copyright (C) 2011 Google Inc. 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  * 1.  Redistributions of source code must retain the above copyright
8  *     notice, this list of conditions and the following disclaimer.
9  * 2.  Redistributions in binary form must reproduce the above copyright
10  *     notice, this list of conditions and the following disclaimer in the
11  *     documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16  * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23  */
24
25 module p2p {
26
27     interface [
28         Conditional=MEDIA_STREAM,
29         CanBeConstructed,
30         CustomConstructFunction,
31         ConstructorParameters=2,
32         V8CustomConstructor,
33         EventTarget
34     ] PeerConnection {
35         void processSignalingMessage(in DOMString message)
36             raises(DOMException);
37
38         const unsigned short NEW = 0;
39         const unsigned short NEGOTIATING = 1;
40         const unsigned short ACTIVE = 2;
41         const unsigned short CLOSED = 3;
42         readonly attribute unsigned short readyState;
43
44         void send(in DOMString text)
45             raises(DOMException);
46         [StrictTypeChecking] void addStream(in MediaStream stream)
47             raises(DOMException);
48         [StrictTypeChecking] void removeStream(in MediaStream stream)
49             raises(DOMException);
50
51         readonly attribute MediaStreamList localStreams;
52         readonly attribute MediaStreamList remoteStreams;
53
54         void close()
55             raises(DOMException);
56
57         attribute EventListener onconnecting;
58         attribute EventListener onopen;
59         attribute EventListener onmessage;
60         attribute EventListener onaddstream;
61         attribute EventListener onremovestream;
62
63         // EventTarget interface
64         void addEventListener(in DOMString type,
65                               in EventListener listener,
66                               in [optional] boolean useCapture);
67         void removeEventListener(in DOMString type,
68                                  in EventListener listener,
69                                  in [optional] boolean useCapture);
70         boolean dispatchEvent(in Event event)
71             raises(EventException);
72     };
73
74 }