OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 14 matching lines...) Expand all Loading... |
25 #ifndef RTCDataChannel_h | 25 #ifndef RTCDataChannel_h |
26 #define RTCDataChannel_h | 26 #define RTCDataChannel_h |
27 | 27 |
28 #include "modules/EventTargetModules.h" | 28 #include "modules/EventTargetModules.h" |
29 #include "platform/Timer.h" | 29 #include "platform/Timer.h" |
30 #include "platform/heap/Handle.h" | 30 #include "platform/heap/Handle.h" |
31 #include "public/platform/WebRTCDataChannelHandler.h" | 31 #include "public/platform/WebRTCDataChannelHandler.h" |
32 #include "public/platform/WebRTCDataChannelHandlerClient.h" | 32 #include "public/platform/WebRTCDataChannelHandlerClient.h" |
33 | 33 |
34 namespace blink { | 34 namespace blink { |
35 class WebRTCDataChannelHandler; | |
36 class WebRTCPeerConnectionHandler; | |
37 struct WebRTCDataChannelInit; | |
38 } | |
39 | |
40 namespace blink { | |
41 | 35 |
42 class Blob; | 36 class Blob; |
43 class ExceptionState; | 37 class ExceptionState; |
44 class RTCPeerConnection; | 38 class RTCPeerConnection; |
| 39 class WebRTCDataChannelHandler; |
| 40 class WebRTCPeerConnectionHandler; |
| 41 struct WebRTCDataChannelInit; |
45 | 42 |
46 class RTCDataChannel FINAL | 43 class RTCDataChannel FINAL |
47 : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<RTCDataCh
annel> | 44 : public RefCountedGarbageCollectedWillBeGarbageCollectedFinalized<RTCDataCh
annel> |
48 , public EventTargetWithInlineData | 45 , public EventTargetWithInlineData |
49 , public blink::WebRTCDataChannelHandlerClient { | 46 , public WebRTCDataChannelHandlerClient { |
50 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollectedWi
llBeGarbageCollectedFinalized<RTCDataChannel>); | 47 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollectedWi
llBeGarbageCollectedFinalized<RTCDataChannel>); |
51 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RTCDataChannel); | 48 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RTCDataChannel); |
52 public: | 49 public: |
53 static RTCDataChannel* create(ExecutionContext*, RTCPeerConnection*, PassOwn
Ptr<blink::WebRTCDataChannelHandler>); | 50 static RTCDataChannel* create(ExecutionContext*, RTCPeerConnection*, PassOwn
Ptr<WebRTCDataChannelHandler>); |
54 static RTCDataChannel* create(ExecutionContext*, RTCPeerConnection*, blink::
WebRTCPeerConnectionHandler*, const String& label, const blink::WebRTCDataChanne
lInit&, ExceptionState&); | 51 static RTCDataChannel* create(ExecutionContext*, RTCPeerConnection*, WebRTCP
eerConnectionHandler*, const String& label, const WebRTCDataChannelInit&, Except
ionState&); |
55 virtual ~RTCDataChannel(); | 52 virtual ~RTCDataChannel(); |
56 | 53 |
57 String label() const; | 54 String label() const; |
58 | 55 |
59 // DEPRECATED | 56 // DEPRECATED |
60 bool reliable() const; | 57 bool reliable() const; |
61 | 58 |
62 bool ordered() const; | 59 bool ordered() const; |
63 unsigned short maxRetransmitTime() const; | 60 unsigned short maxRetransmitTime() const; |
64 unsigned short maxRetransmits() const; | 61 unsigned short maxRetransmits() const; |
(...skipping 21 matching lines...) Expand all Loading... |
86 void stop(); | 83 void stop(); |
87 | 84 |
88 // EventTarget | 85 // EventTarget |
89 virtual const AtomicString& interfaceName() const OVERRIDE; | 86 virtual const AtomicString& interfaceName() const OVERRIDE; |
90 virtual ExecutionContext* executionContext() const OVERRIDE; | 87 virtual ExecutionContext* executionContext() const OVERRIDE; |
91 | 88 |
92 void clearWeakMembers(Visitor*); | 89 void clearWeakMembers(Visitor*); |
93 virtual void trace(Visitor*) OVERRIDE; | 90 virtual void trace(Visitor*) OVERRIDE; |
94 | 91 |
95 private: | 92 private: |
96 RTCDataChannel(ExecutionContext*, RTCPeerConnection*, PassOwnPtr<blink::WebR
TCDataChannelHandler>); | 93 RTCDataChannel(ExecutionContext*, RTCPeerConnection*, PassOwnPtr<WebRTCDataC
hannelHandler>); |
97 | 94 |
98 void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); | 95 void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); |
99 void scheduledEventTimerFired(Timer<RTCDataChannel>*); | 96 void scheduledEventTimerFired(Timer<RTCDataChannel>*); |
100 | 97 |
101 ExecutionContext* m_executionContext; | 98 ExecutionContext* m_executionContext; |
102 | 99 |
103 // blink::WebRTCDataChannelHandlerClient | 100 // WebRTCDataChannelHandlerClient |
104 virtual void didChangeReadyState(blink::WebRTCDataChannelHandlerClient::Read
yState) OVERRIDE; | 101 virtual void didChangeReadyState(WebRTCDataChannelHandlerClient::ReadyState)
OVERRIDE; |
105 virtual void didReceiveStringData(const blink::WebString&) OVERRIDE; | 102 virtual void didReceiveStringData(const WebString&) OVERRIDE; |
106 virtual void didReceiveRawData(const char*, size_t) OVERRIDE; | 103 virtual void didReceiveRawData(const char*, size_t) OVERRIDE; |
107 virtual void didDetectError() OVERRIDE; | 104 virtual void didDetectError() OVERRIDE; |
108 | 105 |
109 OwnPtr<blink::WebRTCDataChannelHandler> m_handler; | 106 OwnPtr<WebRTCDataChannelHandler> m_handler; |
110 | 107 |
111 bool m_stopped; | 108 bool m_stopped; |
112 | 109 |
113 blink::WebRTCDataChannelHandlerClient::ReadyState m_readyState; | 110 WebRTCDataChannelHandlerClient::ReadyState m_readyState; |
114 | 111 |
115 enum BinaryType { | 112 enum BinaryType { |
116 BinaryTypeBlob, | 113 BinaryTypeBlob, |
117 BinaryTypeArrayBuffer | 114 BinaryTypeArrayBuffer |
118 }; | 115 }; |
119 BinaryType m_binaryType; | 116 BinaryType m_binaryType; |
120 | 117 |
121 Timer<RTCDataChannel> m_scheduledEventTimer; | 118 Timer<RTCDataChannel> m_scheduledEventTimer; |
122 WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents; | 119 WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents; |
123 | 120 |
124 WeakMember<RTCPeerConnection> m_connection; | 121 WeakMember<RTCPeerConnection> m_connection; |
125 }; | 122 }; |
126 | 123 |
127 } // namespace blink | 124 } // namespace blink |
128 | 125 |
129 #endif // RTCDataChannel_h | 126 #endif // RTCDataChannel_h |
OLD | NEW |