diff options
Diffstat (limited to 'chrome/browser/extensions/api/socket/socket_api.h')
-rw-r--r-- | chrome/browser/extensions/api/socket/socket_api.h | 53 |
1 files changed, 50 insertions, 3 deletions
diff --git a/chrome/browser/extensions/api/socket/socket_api.h b/chrome/browser/extensions/api/socket/socket_api.h index a9efeaa..04f3038 100644 --- a/chrome/browser/extensions/api/socket/socket_api.h +++ b/chrome/browser/extensions/api/socket/socket_api.h @@ -9,6 +9,7 @@ #include "base/memory/ref_counted.h" #include "chrome/browser/extensions/api/api_function.h" #include "net/base/io_buffer.h" +#include "net/base/ip_endpoint.h" #include <string> @@ -43,10 +44,8 @@ class SocketCreateFunction : public AsyncIOAPIFunction { kSocketTypeUDP }; - int src_id_; SocketType socket_type_; - std::string address_; - int port_; + int src_id_; APIResourceEventNotifier* event_notifier_; DECLARE_EXTENSION_FUNCTION_NAME("experimental.socket.create") @@ -72,6 +71,8 @@ class SocketConnectFunction : public AsyncIOAPIFunction { private: int socket_id_; + std::string address_; + int port_; DECLARE_EXTENSION_FUNCTION_NAME("experimental.socket.connect") }; @@ -88,6 +89,20 @@ class SocketDisconnectFunction : public AsyncIOAPIFunction { DECLARE_EXTENSION_FUNCTION_NAME("experimental.socket.disconnect") }; +class SocketBindFunction : public AsyncIOAPIFunction { + protected: + virtual bool Prepare() OVERRIDE; + virtual void Work() OVERRIDE; + virtual bool Respond() OVERRIDE; + + private: + int socket_id_; + std::string address_; + int port_; + + DECLARE_EXTENSION_FUNCTION_NAME("experimental.socket.bind") +}; + class SocketReadFunction : public AsyncIOAPIFunction { protected: virtual bool Prepare() OVERRIDE; @@ -117,6 +132,38 @@ class SocketWriteFunction : public AsyncIOAPIFunction { DECLARE_EXTENSION_FUNCTION_NAME("experimental.socket.write") }; +class SocketRecvFromFunction : public AsyncIOAPIFunction { + protected: + virtual bool Prepare() OVERRIDE; + virtual void Work() OVERRIDE; + virtual bool Respond() OVERRIDE; + + private: + int socket_id_; + net::IPEndPoint address_; + + DECLARE_EXTENSION_FUNCTION_NAME("experimental.socket.recvFrom") +}; + +class SocketSendToFunction : public AsyncIOAPIFunction { + public: + SocketSendToFunction(); + virtual ~SocketSendToFunction(); + + protected: + virtual bool Prepare() OVERRIDE; + virtual void Work() OVERRIDE; + virtual bool Respond() OVERRIDE; + + private: + int socket_id_; + scoped_refptr<net::IOBufferWithSize> io_buffer_; + std::string address_; + int port_; + + DECLARE_EXTENSION_FUNCTION_NAME("experimental.socket.sendTo") +}; + } // namespace extensions #endif // CHROME_BROWSER_EXTENSIONS_API_SOCKET_SOCKET_API_H_ |