Add ICU message format support
[chromium-blink-merge.git] / extensions / browser / api / sockets_tcp_server / sockets_tcp_server_api.h
blob9c74a48e440360dd1cd5e728db6e46a5ccf61d66
1 // Copyright 2014 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.
5 #ifndef EXTENSIONS_BROWSER_API_SOCKETS_TCP_SERVER_SOCKETS_TCP_SERVER_API_H_
6 #define EXTENSIONS_BROWSER_API_SOCKETS_TCP_SERVER_SOCKETS_TCP_SERVER_API_H_
8 #include "extensions/browser/api/socket/socket_api.h"
9 #include "extensions/common/api/sockets_tcp_server.h"
11 namespace extensions {
12 class ResumableTCPServerSocket;
15 namespace extensions {
16 namespace api {
18 class TCPServerSocketAsyncApiFunction : public SocketAsyncApiFunction {
19 protected:
20 ~TCPServerSocketAsyncApiFunction() override;
22 scoped_ptr<SocketResourceManagerInterface> CreateSocketResourceManager()
23 override;
25 ResumableTCPServerSocket* GetTcpSocket(int socket_id);
28 class SocketsTcpServerCreateFunction : public TCPServerSocketAsyncApiFunction {
29 public:
30 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.create",
31 SOCKETS_TCP_SERVER_CREATE)
33 SocketsTcpServerCreateFunction();
35 protected:
36 ~SocketsTcpServerCreateFunction() override;
38 // AsyncApiFunction:
39 bool Prepare() override;
40 void Work() override;
42 private:
43 FRIEND_TEST_ALL_PREFIXES(SocketsTcpServerUnitTest, Create);
44 scoped_ptr<sockets_tcp_server::Create::Params> params_;
47 class SocketsTcpServerUpdateFunction : public TCPServerSocketAsyncApiFunction {
48 public:
49 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.update",
50 SOCKETS_TCP_SERVER_UPDATE)
52 SocketsTcpServerUpdateFunction();
54 protected:
55 ~SocketsTcpServerUpdateFunction() override;
57 // AsyncApiFunction:
58 bool Prepare() override;
59 void Work() override;
61 private:
62 scoped_ptr<sockets_tcp_server::Update::Params> params_;
65 class SocketsTcpServerSetPausedFunction
66 : public TCPServerSocketAsyncApiFunction {
67 public:
68 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.setPaused",
69 SOCKETS_TCP_SERVER_SETPAUSED)
71 SocketsTcpServerSetPausedFunction();
73 protected:
74 ~SocketsTcpServerSetPausedFunction() override;
76 // AsyncApiFunction
77 bool Prepare() override;
78 void Work() override;
80 private:
81 scoped_ptr<sockets_tcp_server::SetPaused::Params> params_;
82 TCPServerSocketEventDispatcher* socket_event_dispatcher_;
85 class SocketsTcpServerListenFunction : public TCPServerSocketAsyncApiFunction {
86 public:
87 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.listen",
88 SOCKETS_TCP_SERVER_LISTEN)
90 SocketsTcpServerListenFunction();
92 protected:
93 ~SocketsTcpServerListenFunction() override;
95 // AsyncApiFunction:
96 bool Prepare() override;
97 void AsyncWorkStart() override;
99 private:
100 scoped_ptr<sockets_tcp_server::Listen::Params> params_;
101 TCPServerSocketEventDispatcher* socket_event_dispatcher_;
104 class SocketsTcpServerDisconnectFunction
105 : public TCPServerSocketAsyncApiFunction {
106 public:
107 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.disconnect",
108 SOCKETS_TCP_SERVER_DISCONNECT)
110 SocketsTcpServerDisconnectFunction();
112 protected:
113 ~SocketsTcpServerDisconnectFunction() override;
115 // AsyncApiFunction:
116 bool Prepare() override;
117 void Work() override;
119 private:
120 scoped_ptr<sockets_tcp_server::Disconnect::Params> params_;
123 class SocketsTcpServerCloseFunction : public TCPServerSocketAsyncApiFunction {
124 public:
125 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.close",
126 SOCKETS_TCP_SERVER_CLOSE)
128 SocketsTcpServerCloseFunction();
130 protected:
131 ~SocketsTcpServerCloseFunction() override;
133 // AsyncApiFunction:
134 bool Prepare() override;
135 void Work() override;
137 private:
138 scoped_ptr<sockets_tcp_server::Close::Params> params_;
141 class SocketsTcpServerGetInfoFunction : public TCPServerSocketAsyncApiFunction {
142 public:
143 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.getInfo",
144 SOCKETS_TCP_SERVER_GETINFO)
146 SocketsTcpServerGetInfoFunction();
148 protected:
149 ~SocketsTcpServerGetInfoFunction() override;
151 // AsyncApiFunction:
152 bool Prepare() override;
153 void Work() override;
155 private:
156 scoped_ptr<sockets_tcp_server::GetInfo::Params> params_;
159 class SocketsTcpServerGetSocketsFunction
160 : public TCPServerSocketAsyncApiFunction {
161 public:
162 DECLARE_EXTENSION_FUNCTION("sockets.tcpServer.getSockets",
163 SOCKETS_TCP_SERVER_GETSOCKETS)
165 SocketsTcpServerGetSocketsFunction();
167 protected:
168 ~SocketsTcpServerGetSocketsFunction() override;
170 // AsyncApiFunction:
171 bool Prepare() override;
172 void Work() override;
175 } // namespace api
176 } // namespace extensions
178 #endif // EXTENSIONS_BROWSER_API_SOCKETS_TCP_SERVER_SOCKETS_TCP_SERVER_API_H_