~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/chromium/src/net/base/host_port_pair.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
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 NET_BASE_HOST_PORT_PAIR_H_
6
 
#define NET_BASE_HOST_PORT_PAIR_H_
7
 
 
8
 
#include <string>
9
 
#include "base/basictypes.h"
10
 
#include "net/base/net_export.h"
11
 
 
12
 
class GURL;
13
 
 
14
 
namespace net {
15
 
 
16
 
class IPEndPoint;
17
 
 
18
 
class NET_EXPORT HostPortPair {
19
 
 public:
20
 
  HostPortPair();
21
 
  // If |in_host| represents an IPv6 address, it should not bracket the address.
22
 
  HostPortPair(const std::string& in_host, uint16 in_port);
23
 
 
24
 
  // Creates a HostPortPair for the origin of |url|.
25
 
  static HostPortPair FromURL(const GURL& url);
26
 
 
27
 
  // Creates a HostPortPair from an IPEndPoint.
28
 
  static HostPortPair FromIPEndPoint(const IPEndPoint& ipe);
29
 
 
30
 
  // Creates a HostPortPair from a string formatted in same manner as
31
 
  // ToString().
32
 
  static HostPortPair FromString(const std::string& str);
33
 
 
34
 
  // TODO(willchan): Define a functor instead.
35
 
  // Comparator function so this can be placed in a std::map.
36
 
  bool operator<(const HostPortPair& other) const {
37
 
    if (port_ != other.port_)
38
 
      return port_ < other.port_;
39
 
    return host_ < other.host_;
40
 
  }
41
 
 
42
 
  // Equality test of contents. (Probably another violation of style guide).
43
 
  bool Equals(const HostPortPair& other) const {
44
 
    return host_ == other.host_ && port_ == other.port_;
45
 
  }
46
 
 
47
 
  bool IsEmpty() const {
48
 
    return host_.empty() && port_ == 0;
49
 
  }
50
 
 
51
 
  const std::string& host() const {
52
 
    return host_;
53
 
  }
54
 
 
55
 
  uint16 port() const {
56
 
    return port_;
57
 
  }
58
 
 
59
 
  void set_host(const std::string& in_host) {
60
 
    host_ = in_host;
61
 
  }
62
 
 
63
 
  void set_port(uint16 in_port) {
64
 
    port_ = in_port;
65
 
  }
66
 
 
67
 
  // ToString() will convert the HostPortPair to "host:port".  If |host_| is an
68
 
  // IPv6 literal, it will add brackets around |host_|.
69
 
  std::string ToString() const;
70
 
 
71
 
  // Returns |host_|, adding IPv6 brackets if needed.
72
 
  std::string HostForURL() const;
73
 
 
74
 
 private:
75
 
  // If |host_| represents an IPv6 address, this string will not contain
76
 
  // brackets around the address.
77
 
  std::string host_;
78
 
  uint16 port_;
79
 
};
80
 
 
81
 
}  // namespace net
82
 
 
83
 
#endif  // NET_BASE_HOST_PORT_PAIR_H_