OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ | 5 #ifndef CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ |
6 #define CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ | 6 #define CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
11 #include "net/base/ip_endpoint.h" | 11 #include "net/base/ip_endpoint.h" |
12 | 12 |
| 13 namespace base { |
| 14 class DictionaryValue; |
| 15 } // namespace base |
| 16 |
13 class CastSession; | 17 class CastSession; |
14 | 18 |
15 // This class represents the transport mechanism used by Cast RTP streams | 19 // This class represents the transport mechanism used by Cast RTP streams |
16 // to connect to a remote client. It specifies the destination address | 20 // to connect to a remote client. It specifies the destination address |
17 // and network protocol used to send Cast RTP streams. | 21 // and network protocol used to send Cast RTP streams. |
18 class CastUdpTransport { | 22 class CastUdpTransport { |
19 public: | 23 public: |
20 explicit CastUdpTransport(const scoped_refptr<CastSession>& session); | 24 explicit CastUdpTransport(const scoped_refptr<CastSession>& session); |
21 virtual ~CastUdpTransport(); | 25 virtual ~CastUdpTransport(); |
22 | 26 |
23 // Specify the remote IP address and port. | 27 // Specify the remote IP address and port. |
24 void SetDestination(const net::IPEndPoint& remote_address); | 28 void SetDestination(const net::IPEndPoint& remote_address); |
25 | 29 |
| 30 // Set options. |
| 31 void SetOptions(scoped_ptr<base::DictionaryValue> options); |
| 32 |
26 private: | 33 private: |
27 const scoped_refptr<CastSession> cast_session_; | 34 const scoped_refptr<CastSession> cast_session_; |
28 net::IPEndPoint remote_address_; | 35 net::IPEndPoint remote_address_; |
| 36 scoped_ptr<base::DictionaryValue> options_; |
29 base::WeakPtrFactory<CastUdpTransport> weak_factory_; | 37 base::WeakPtrFactory<CastUdpTransport> weak_factory_; |
30 | 38 |
31 DISALLOW_COPY_AND_ASSIGN(CastUdpTransport); | 39 DISALLOW_COPY_AND_ASSIGN(CastUdpTransport); |
32 }; | 40 }; |
33 | 41 |
34 #endif // CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ | 42 #endif // CHROME_RENDERER_MEDIA_CAST_UDP_TRANSPORT_H_ |
OLD | NEW |