1// Copyright (c) 2012 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.
4
5#ifndef WEBKIT_CHILD_WEBSOCKETSTREAMHANDLE_DELEGATE_H_
6#define WEBKIT_CHILD_WEBSOCKETSTREAMHANDLE_DELEGATE_H_
7
8#include "base/strings/string16.h"
9
10class GURL;
11
12namespace WebKit {
13class WebSocketStreamHandle;
14}
15
16namespace webkit_glue {
17
18class WebSocketStreamHandleDelegate {
19 public:
20  WebSocketStreamHandleDelegate() {}
21
22  virtual void WillOpenStream(WebKit::WebSocketStreamHandle* handle,
23                              const GURL& url) {}
24  virtual void WillSendData(WebKit::WebSocketStreamHandle* handle,
25                            const char* data, int len) {}
26
27  virtual void DidOpenStream(WebKit::WebSocketStreamHandle* handle,
28                             int max_amount_send_allowed) {}
29  virtual void DidSendData(WebKit::WebSocketStreamHandle* handle,
30                           int amount_sent) {}
31  virtual void DidReceiveData(WebKit::WebSocketStreamHandle* handle,
32                              const char* data, int len) {}
33  virtual void DidClose(WebKit::WebSocketStreamHandle*) {}
34  virtual void DidFail(WebKit::WebSocketStreamHandle* handle,
35                       int error_code,
36                       const string16& error_msg) {}
37
38 protected:
39  virtual ~WebSocketStreamHandleDelegate() {}
40};
41
42}  // namespace webkit_glue
43
44#endif  // WEBKIT_CHILD_WEBSOCKETSTREAMHANDLE_DELEGATE_H_
45