diff options
Diffstat (limited to 'chrome/browser/extensions/extension_web_socket_proxy_private_api.h')
-rw-r--r-- | chrome/browser/extensions/extension_web_socket_proxy_private_api.h | 50 |
1 files changed, 40 insertions, 10 deletions
diff --git a/chrome/browser/extensions/extension_web_socket_proxy_private_api.h b/chrome/browser/extensions/extension_web_socket_proxy_private_api.h index ece09a4..7a75137 100644 --- a/chrome/browser/extensions/extension_web_socket_proxy_private_api.h +++ b/chrome/browser/extensions/extension_web_socket_proxy_private_api.h @@ -11,34 +11,64 @@ #include "content/common/notification_registrar.h" #include "chrome/browser/extensions/extension_function.h" -class WebSocketProxyPrivateGetPassportForTCPFunction +class WebSocketProxyPrivate : public AsyncExtensionFunction, public NotificationObserver { public: - WebSocketProxyPrivateGetPassportForTCPFunction(); + WebSocketProxyPrivate(); - virtual ~WebSocketProxyPrivateGetPassportForTCPFunction(); + virtual ~WebSocketProxyPrivate(); - private: - // ExtensionFunction implementation. - virtual bool RunImpl() OVERRIDE; + // Finalizes async operation. + virtual void Finalize(); + protected: // NotificationObserver implementation. virtual void Observe( int type, const NotificationSource& source, const NotificationDetails& details) OVERRIDE; - // Finalizes async operation. - void Finalize(); - // Whether already finalized. bool is_finalized_; // Used to signal timeout (when waiting for proxy initial launch). - base::OneShotTimer<WebSocketProxyPrivateGetPassportForTCPFunction> timer_; + base::OneShotTimer<WebSocketProxyPrivate> timer_; NotificationRegistrar registrar_; + // Proxy listens incoming websocket connection on this port. + int listening_port_; +}; + +class WebSocketProxyPrivateGetPassportForTCPFunction + : public WebSocketProxyPrivate { + public: + WebSocketProxyPrivateGetPassportForTCPFunction(); + + private: + // ExtensionFunction implementation. + virtual bool RunImpl() OVERRIDE; + DECLARE_EXTENSION_FUNCTION_NAME("webSocketProxyPrivate.getPassportForTCP") }; +class WebSocketProxyPrivateGetURLForTCPFunction + : public WebSocketProxyPrivate { + private: + // ExtensionFunction implementation. + virtual bool RunImpl() OVERRIDE; + + // NotificationObserver implementation. + virtual void Observe( + int type, const NotificationSource& source, + const NotificationDetails& details) OVERRIDE; + + // Finalizes async operation. + virtual void Finalize() OVERRIDE; + + // Query component of resulting URL. + std::string query_; + + DECLARE_EXTENSION_FUNCTION_NAME("webSocketProxyPrivate.getURLForTCP") +}; + #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_WEB_SOCKET_PROXY_PRIVATE_API_H_ |