- add sources.
[platform/framework/web/crosswalk.git] / src / webkit / child / websocketstreamhandle_impl.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 #ifndef WEBKIT_CHILD_WEBSOCKETSTREAMHANDLE_IMPL_H_\r
6 #define WEBKIT_CHILD_WEBSOCKETSTREAMHANDLE_IMPL_H_\r
7 \r
8 #include "base/memory/ref_counted.h"\r
9 #include "base/supports_user_data.h"\r
10 #include "third_party/WebKit/public/platform/WebSocketStreamHandle.h"\r
11 \r
12 namespace webkit_glue {\r
13 \r
14 class WebKitPlatformSupportImpl;\r
15 \r
16 class WebSocketStreamHandleImpl\r
17     : public base::SupportsUserData,\r
18       public WebKit::WebSocketStreamHandle {\r
19  public:\r
20   explicit WebSocketStreamHandleImpl(WebKitPlatformSupportImpl* platform);\r
21   virtual ~WebSocketStreamHandleImpl();\r
22 \r
23   // WebSocketStreamHandle methods:\r
24   virtual void connect(\r
25       const WebKit::WebURL& url,\r
26       WebKit::WebSocketStreamHandleClient* client);\r
27   virtual bool send(const WebKit::WebData& data);\r
28   virtual void close();\r
29 \r
30  private:\r
31   class Context;\r
32   scoped_refptr<Context> context_;\r
33   WebKitPlatformSupportImpl* platform_;\r
34 \r
35   DISALLOW_COPY_AND_ASSIGN(WebSocketStreamHandleImpl);\r
36 };\r
37 \r
38 }  // namespace webkit_glue\r
39 \r
40 #endif  // WEBKIT_CHILD_WEBSOCKETSTREAMHANDLE_IMPL_H_\r