Implementation of leveldb-backed PrefStore.
[chromium-blink-merge.git] / extensions / browser / api / sockets_tcp_server / sockets_tcp_server_api.h
blob89d8cb8e5a23b030abda3cdd36c111cd5d558935
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 core_api {
18 class TCPServerSocketAsyncApiFunction : public SocketAsyncApiFunction {
19 protected:
20 virtual ~TCPServerSocketAsyncApiFunction();
22 virtual scoped_ptr<SocketResourceManagerInterface>
23 CreateSocketResourceManager() 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 virtual ~SocketsTcpServerCreateFunction();
38 // AsyncApiFunction:
39 virtual bool Prepare() OVERRIDE;
40 virtual 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 virtual ~SocketsTcpServerUpdateFunction();
57 // AsyncApiFunction:
58 virtual bool Prepare() OVERRIDE;
59 virtual 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 virtual ~SocketsTcpServerSetPausedFunction();
76 // AsyncApiFunction
77 virtual bool Prepare() OVERRIDE;
78 virtual 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 virtual ~SocketsTcpServerListenFunction();
95 // AsyncApiFunction:
96 virtual bool Prepare() OVERRIDE;
97 virtual void Work() 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 virtual ~SocketsTcpServerDisconnectFunction();
115 // AsyncApiFunction:
116 virtual bool Prepare() OVERRIDE;
117 virtual 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 virtual ~SocketsTcpServerCloseFunction();
133 // AsyncApiFunction:
134 virtual bool Prepare() OVERRIDE;
135 virtual 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 virtual ~SocketsTcpServerGetInfoFunction();
151 // AsyncApiFunction:
152 virtual bool Prepare() OVERRIDE;
153 virtual 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 virtual ~SocketsTcpServerGetSocketsFunction();
170 // AsyncApiFunction:
171 virtual bool Prepare() OVERRIDE;
172 virtual void Work() OVERRIDE;
175 } // namespace core_api
176 } // namespace extensions
178 #endif // EXTENSIONS_BROWSER_API_SOCKETS_TCP_SERVER_SOCKETS_TCP_SERVER_API_H_