summaryrefslogtreecommitdiffstats
path: root/webkit/glue/devtools/net_agent.h
blob: 38db57d88a4dae0dca8f2f6703088c9fa4b03327 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef WEBKIT_GLUE_DEVTOOLS_NET_AGENT_H_
#define WEBKIT_GLUE_DEVTOOLS_NET_AGENT_H_

#include "webkit/glue/devtools/devtools_rpc.h"

// NetAgent is a utility object that covers network-related functionality of the
// WebDevToolsAgent. It is capable of sniffing network calls and passing the
// HTTPRequest-related data to the client.
// NetAgent's environment is represented with the NetAgentDelegate interface.
#define NET_AGENT_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, METHOD4) \
  /* Requests that the agent sends content of the resource with given id to the
     delegate. */ \
  METHOD3(GetResourceContent, int /* call_id */, int /* identifier */, \
      String /* url */)

DEFINE_RPC_CLASS(NetAgent, NET_AGENT_STRUCT)

#define NET_AGENT_DELEGATE_STRUCT(METHOD0, METHOD1, METHOD2, METHOD3, \
    METHOD4) \
  /* Notifies the delegate that a request is about to be sent out. */ \
  METHOD2(WillSendRequest, int, Value) \
  \
  /* Notifies the delegate that response has been received. */ \
  METHOD2(DidReceiveResponse, int /* identifier */, Value /* request */) \
  \
  /* Notifies the delegate that resource loading has been finished with no
     errors */ \
  METHOD2(DidFinishLoading, int /* identifier */, Value /* response */) \
  \
  /* Response to the async call. */ \
  METHOD2(GetResourceContentResult, int /* call_id */, std::string /* content */)

DEFINE_RPC_CLASS(NetAgentDelegate, NET_AGENT_DELEGATE_STRUCT)

#endif  // WEBKIT_GLUE_DEVTOOLS_NET_AGENT_H_