1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef NET_URL_REQUEST_URL_REQUEST_NETLOG_PARAMS_H_
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define NET_URL_REQUEST_URL_REQUEST_NETLOG_PARAMS_H_
73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include <string>
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/basictypes.h"
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "googleurl/src/gurl.h"
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/base/net_log.h"
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/base/request_priority.h"
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
1621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsennamespace net {
1721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Holds the parameters to emit to the NetLog when starting a URLRequest.
1921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenclass URLRequestStartEventParameters : public NetLog::EventParameters {
20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch public:
21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  URLRequestStartEventParameters(const GURL& url,
22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                                 const std::string& method,
23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch                                 int load_flags,
2421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen                                 RequestPriority priority);
25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const GURL& url() const {
27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    return url_;
28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  }
29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  int load_flags() const {
31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch    return load_flags_;
32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  }
33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  virtual Value* ToValue() const;
35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch private:
37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const GURL url_;
38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const std::string method_;
39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  const int load_flags_;
4021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen  const RequestPriority priority_;
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  DISALLOW_COPY_AND_ASSIGN(URLRequestStartEventParameters);
43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch};
44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
4521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}  // namespace net
4621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen
47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif  // NET_URL_REQUEST_URL_REQUEST_NETLOG_PARAMS_H_
48