Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(815)

Side by Side Diff: webkit/plugins/ppapi/ppb_transport_impl.h

Issue 10454058: Remove PPB_Transport_Dev API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « webkit/plugins/ppapi/plugin_module.cc ('k') | webkit/plugins/ppapi/ppb_transport_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef WEBKIT_PLUGINS_PPAPI_PPB_TRANSPORT_IMPL_H_
6 #define WEBKIT_PLUGINS_PPAPI_PPB_TRANSPORT_IMPL_H_
7
8 #include <list>
9 #include <string>
10
11 #include "base/basictypes.h"
12 #include "base/memory/scoped_ptr.h"
13 #include "net/base/completion_callback.h"
14 #include "ppapi/shared_impl/tracked_callback.h"
15 #include "ppapi/shared_impl/resource.h"
16 #include "ppapi/thunk/ppb_transport_api.h"
17 #include "webkit/glue/p2p_transport.h"
18
19 namespace webkit {
20 namespace ppapi {
21
22 class PPB_Transport_Impl : public ::ppapi::Resource,
23 public ::ppapi::thunk::PPB_Transport_API,
24 public webkit_glue::P2PTransport::EventHandler {
25 public:
26 virtual ~PPB_Transport_Impl();
27
28 static PP_Resource Create(PP_Instance instance,
29 const char* name,
30 PP_TransportType type);
31
32 // Resource override.
33 virtual ::ppapi::thunk::PPB_Transport_API* AsPPB_Transport_API() OVERRIDE;
34
35 // PPB_Transport_API implementation.
36 virtual PP_Bool IsWritable() OVERRIDE;
37 virtual int32_t SetProperty(PP_TransportProperty property,
38 PP_Var value) OVERRIDE;
39 virtual int32_t Connect(PP_CompletionCallback callback) OVERRIDE;
40 virtual int32_t GetNextAddress(PP_Var* address,
41 PP_CompletionCallback callback) OVERRIDE;
42 virtual int32_t ReceiveRemoteAddress(PP_Var address) OVERRIDE;
43 virtual int32_t Recv(void* data, uint32_t len,
44 PP_CompletionCallback callback) OVERRIDE;
45 virtual int32_t Send(const void* data, uint32_t len,
46 PP_CompletionCallback callback) OVERRIDE;
47 virtual int32_t Close() OVERRIDE;
48
49 // webkit_glue::P2PTransport::EventHandler implementation.
50 virtual void OnCandidateReady(const std::string& address) OVERRIDE;
51 virtual void OnStateChange(webkit_glue::P2PTransport::State state) OVERRIDE;
52 virtual void OnError(int error) OVERRIDE;
53
54 private:
55 explicit PPB_Transport_Impl(PP_Instance instance);
56
57 bool Init(const char* name, PP_TransportType type);
58
59 void OnRead(int result);
60 void OnWritten(int result);
61
62 std::string name_;
63 PP_TransportType type_;
64 webkit_glue::P2PTransport::Config config_;
65 bool started_;
66 scoped_ptr<webkit_glue::P2PTransport> p2p_transport_;
67 bool writable_;
68 std::list<std::string> local_candidates_;
69
70 scoped_refptr< ::ppapi::TrackedCallback> connect_callback_;
71 scoped_refptr< ::ppapi::TrackedCallback> next_address_callback_;
72
73 scoped_refptr< ::ppapi::TrackedCallback> recv_callback_;
74 scoped_refptr< ::ppapi::TrackedCallback> send_callback_;
75
76 DISALLOW_COPY_AND_ASSIGN(PPB_Transport_Impl);
77 };
78
79 } // namespace ppapi
80 } // namespace webkit
81
82 #endif // WEBKIT_PLUGINS_PPAPI_PPB_TRANSPORT_IMPL_H_
OLDNEW
« no previous file with comments | « webkit/plugins/ppapi/plugin_module.cc ('k') | webkit/plugins/ppapi/ppb_transport_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698