| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_SOCKETS_TCP_SOCKETS_TCP_API_H_ | |
| 6 #define CHROME_BROWSER_EXTENSIONS_API_SOCKETS_TCP_SOCKETS_TCP_API_H_ | |
| 7 | |
| 8 #include "chrome/browser/extensions/api/socket/socket_api.h" | |
| 9 #include "chrome/common/extensions/api/sockets_tcp.h" | |
| 10 | |
| 11 namespace extensions { | |
| 12 class ResumableTCPSocket; | |
| 13 } | |
| 14 | |
| 15 namespace extensions { | |
| 16 namespace api { | |
| 17 | |
| 18 class TCPSocketAsyncApiFunction : public SocketAsyncApiFunction { | |
| 19 protected: | |
| 20 virtual ~TCPSocketAsyncApiFunction(); | |
| 21 | |
| 22 virtual scoped_ptr<SocketResourceManagerInterface> | |
| 23 CreateSocketResourceManager() OVERRIDE; | |
| 24 | |
| 25 ResumableTCPSocket* GetTcpSocket(int socket_id); | |
| 26 }; | |
| 27 | |
| 28 class TCPSocketExtensionWithDnsLookupFunction | |
| 29 : public SocketExtensionWithDnsLookupFunction { | |
| 30 protected: | |
| 31 virtual ~TCPSocketExtensionWithDnsLookupFunction(); | |
| 32 | |
| 33 virtual scoped_ptr<SocketResourceManagerInterface> | |
| 34 CreateSocketResourceManager() OVERRIDE; | |
| 35 | |
| 36 ResumableTCPSocket* GetTcpSocket(int socket_id); | |
| 37 }; | |
| 38 | |
| 39 class SocketsTcpCreateFunction : public TCPSocketAsyncApiFunction { | |
| 40 public: | |
| 41 DECLARE_EXTENSION_FUNCTION("sockets.tcp.create", SOCKETS_TCP_CREATE) | |
| 42 | |
| 43 SocketsTcpCreateFunction(); | |
| 44 | |
| 45 protected: | |
| 46 virtual ~SocketsTcpCreateFunction(); | |
| 47 | |
| 48 // AsyncApiFunction: | |
| 49 virtual bool Prepare() OVERRIDE; | |
| 50 virtual void Work() OVERRIDE; | |
| 51 | |
| 52 private: | |
| 53 FRIEND_TEST_ALL_PREFIXES(SocketsTcpUnitTest, Create); | |
| 54 scoped_ptr<sockets_tcp::Create::Params> params_; | |
| 55 }; | |
| 56 | |
| 57 class SocketsTcpUpdateFunction : public TCPSocketAsyncApiFunction { | |
| 58 public: | |
| 59 DECLARE_EXTENSION_FUNCTION("sockets.tcp.update", SOCKETS_TCP_UPDATE) | |
| 60 | |
| 61 SocketsTcpUpdateFunction(); | |
| 62 | |
| 63 protected: | |
| 64 virtual ~SocketsTcpUpdateFunction(); | |
| 65 | |
| 66 // AsyncApiFunction: | |
| 67 virtual bool Prepare() OVERRIDE; | |
| 68 virtual void Work() OVERRIDE; | |
| 69 | |
| 70 private: | |
| 71 scoped_ptr<sockets_tcp::Update::Params> params_; | |
| 72 }; | |
| 73 | |
| 74 class SocketsTcpSetPausedFunction | |
| 75 : public TCPSocketAsyncApiFunction { | |
| 76 public: | |
| 77 DECLARE_EXTENSION_FUNCTION("sockets.tcp.setPaused", SOCKETS_TCP_SETPAUSED) | |
| 78 | |
| 79 SocketsTcpSetPausedFunction(); | |
| 80 | |
| 81 protected: | |
| 82 virtual ~SocketsTcpSetPausedFunction(); | |
| 83 | |
| 84 // AsyncApiFunction | |
| 85 virtual bool Prepare() OVERRIDE; | |
| 86 virtual void Work() OVERRIDE; | |
| 87 | |
| 88 private: | |
| 89 scoped_ptr<sockets_tcp::SetPaused::Params> params_; | |
| 90 TCPSocketEventDispatcher* socket_event_dispatcher_; | |
| 91 }; | |
| 92 | |
| 93 class SocketsTcpSetKeepAliveFunction | |
| 94 : public TCPSocketAsyncApiFunction { | |
| 95 public: | |
| 96 DECLARE_EXTENSION_FUNCTION("sockets.tcp.setKeepAlive", | |
| 97 SOCKETS_TCP_SETKEEPALIVE) | |
| 98 | |
| 99 SocketsTcpSetKeepAliveFunction(); | |
| 100 | |
| 101 protected: | |
| 102 virtual ~SocketsTcpSetKeepAliveFunction(); | |
| 103 | |
| 104 // AsyncApiFunction | |
| 105 virtual bool Prepare() OVERRIDE; | |
| 106 virtual void Work() OVERRIDE; | |
| 107 | |
| 108 private: | |
| 109 scoped_ptr<sockets_tcp::SetKeepAlive::Params> params_; | |
| 110 }; | |
| 111 | |
| 112 class SocketsTcpSetNoDelayFunction | |
| 113 : public TCPSocketAsyncApiFunction { | |
| 114 public: | |
| 115 DECLARE_EXTENSION_FUNCTION("sockets.tcp.setNoDelay", SOCKETS_TCP_SETNODELAY) | |
| 116 | |
| 117 SocketsTcpSetNoDelayFunction(); | |
| 118 | |
| 119 protected: | |
| 120 virtual ~SocketsTcpSetNoDelayFunction(); | |
| 121 | |
| 122 // AsyncApiFunction | |
| 123 virtual bool Prepare() OVERRIDE; | |
| 124 virtual void Work() OVERRIDE; | |
| 125 | |
| 126 private: | |
| 127 scoped_ptr<sockets_tcp::SetNoDelay::Params> params_; | |
| 128 }; | |
| 129 | |
| 130 class SocketsTcpConnectFunction | |
| 131 : public TCPSocketExtensionWithDnsLookupFunction { | |
| 132 public: | |
| 133 DECLARE_EXTENSION_FUNCTION("sockets.tcp.connect", SOCKETS_TCP_CONNECT) | |
| 134 | |
| 135 SocketsTcpConnectFunction(); | |
| 136 | |
| 137 protected: | |
| 138 virtual ~SocketsTcpConnectFunction(); | |
| 139 | |
| 140 // AsyncApiFunction: | |
| 141 virtual bool Prepare() OVERRIDE; | |
| 142 virtual void AsyncWorkStart() OVERRIDE; | |
| 143 | |
| 144 // SocketExtensionWithDnsLookupFunction: | |
| 145 virtual void AfterDnsLookup(int lookup_result) OVERRIDE; | |
| 146 | |
| 147 private: | |
| 148 void StartConnect(); | |
| 149 void OnCompleted(int net_result); | |
| 150 | |
| 151 scoped_ptr<sockets_tcp::Connect::Params> params_; | |
| 152 TCPSocketEventDispatcher* socket_event_dispatcher_; | |
| 153 }; | |
| 154 | |
| 155 class SocketsTcpDisconnectFunction : public TCPSocketAsyncApiFunction { | |
| 156 public: | |
| 157 DECLARE_EXTENSION_FUNCTION("sockets.tcp.disconnect", SOCKETS_TCP_DISCONNECT) | |
| 158 | |
| 159 SocketsTcpDisconnectFunction(); | |
| 160 | |
| 161 protected: | |
| 162 virtual ~SocketsTcpDisconnectFunction(); | |
| 163 | |
| 164 // AsyncApiFunction: | |
| 165 virtual bool Prepare() OVERRIDE; | |
| 166 virtual void Work() OVERRIDE; | |
| 167 | |
| 168 private: | |
| 169 scoped_ptr<sockets_tcp::Disconnect::Params> params_; | |
| 170 }; | |
| 171 | |
| 172 class SocketsTcpSendFunction : public TCPSocketAsyncApiFunction { | |
| 173 public: | |
| 174 DECLARE_EXTENSION_FUNCTION("sockets.tcp.send", SOCKETS_TCP_SEND) | |
| 175 | |
| 176 SocketsTcpSendFunction(); | |
| 177 | |
| 178 protected: | |
| 179 virtual ~SocketsTcpSendFunction(); | |
| 180 | |
| 181 // AsyncApiFunction: | |
| 182 virtual bool Prepare() OVERRIDE; | |
| 183 virtual void AsyncWorkStart() OVERRIDE; | |
| 184 | |
| 185 private: | |
| 186 void OnCompleted(int net_result); | |
| 187 void SetSendResult(int net_result, int bytes_sent); | |
| 188 | |
| 189 scoped_ptr<sockets_tcp::Send::Params> params_; | |
| 190 scoped_refptr<net::IOBuffer> io_buffer_; | |
| 191 size_t io_buffer_size_; | |
| 192 }; | |
| 193 | |
| 194 class SocketsTcpCloseFunction : public TCPSocketAsyncApiFunction { | |
| 195 public: | |
| 196 DECLARE_EXTENSION_FUNCTION("sockets.tcp.close", SOCKETS_TCP_CLOSE) | |
| 197 | |
| 198 SocketsTcpCloseFunction(); | |
| 199 | |
| 200 protected: | |
| 201 virtual ~SocketsTcpCloseFunction(); | |
| 202 | |
| 203 // AsyncApiFunction: | |
| 204 virtual bool Prepare() OVERRIDE; | |
| 205 virtual void Work() OVERRIDE; | |
| 206 | |
| 207 private: | |
| 208 scoped_ptr<sockets_tcp::Close::Params> params_; | |
| 209 }; | |
| 210 | |
| 211 class SocketsTcpGetInfoFunction : public TCPSocketAsyncApiFunction { | |
| 212 public: | |
| 213 DECLARE_EXTENSION_FUNCTION("sockets.tcp.getInfo", SOCKETS_TCP_GETINFO) | |
| 214 | |
| 215 SocketsTcpGetInfoFunction(); | |
| 216 | |
| 217 protected: | |
| 218 virtual ~SocketsTcpGetInfoFunction(); | |
| 219 | |
| 220 // AsyncApiFunction: | |
| 221 virtual bool Prepare() OVERRIDE; | |
| 222 virtual void Work() OVERRIDE; | |
| 223 | |
| 224 private: | |
| 225 scoped_ptr<sockets_tcp::GetInfo::Params> params_; | |
| 226 }; | |
| 227 | |
| 228 class SocketsTcpGetSocketsFunction : public TCPSocketAsyncApiFunction { | |
| 229 public: | |
| 230 DECLARE_EXTENSION_FUNCTION("sockets.tcp.getSockets", SOCKETS_TCP_GETSOCKETS) | |
| 231 | |
| 232 SocketsTcpGetSocketsFunction(); | |
| 233 | |
| 234 protected: | |
| 235 virtual ~SocketsTcpGetSocketsFunction(); | |
| 236 | |
| 237 // AsyncApiFunction: | |
| 238 virtual bool Prepare() OVERRIDE; | |
| 239 virtual void Work() OVERRIDE; | |
| 240 }; | |
| 241 | |
| 242 } // namespace api | |
| 243 } // namespace extensions | |
| 244 | |
| 245 #endif // CHROME_BROWSER_EXTENSIONS_API_SOCKETS_TCP_SOCKETS_TCP_API_H_ | |
| OLD | NEW |