Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/netwerk/base/nsProxyInfo.cpp
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim:set ts=2 sw=2 sts=2 et cindent: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#include "nsProxyInfo.h"
8
#include "nsCOMPtr.h"
9
10
namespace mozilla {
11
namespace net {
12
13
// Yes, we support QI to nsProxyInfo
14
NS_IMPL_ISUPPORTS(nsProxyInfo, nsProxyInfo, nsIProxyInfo)
15
16
NS_IMETHODIMP
17
nsProxyInfo::GetHost(nsACString &result)
18
0
{
19
0
  result = mHost;
20
0
  return NS_OK;
21
0
}
22
23
NS_IMETHODIMP
24
nsProxyInfo::GetPort(int32_t *result)
25
0
{
26
0
  *result = mPort;
27
0
  return NS_OK;
28
0
}
29
30
NS_IMETHODIMP
31
nsProxyInfo::GetType(nsACString &result)
32
0
{
33
0
  result = mType;
34
0
  return NS_OK;
35
0
}
36
37
NS_IMETHODIMP
38
nsProxyInfo::GetFlags(uint32_t *result)
39
0
{
40
0
  *result = mFlags;
41
0
  return NS_OK;
42
0
}
43
44
NS_IMETHODIMP
45
nsProxyInfo::GetResolveFlags(uint32_t *result)
46
0
{
47
0
  *result = mResolveFlags;
48
0
  return NS_OK;
49
0
}
50
51
NS_IMETHODIMP
52
nsProxyInfo::GetUsername(nsACString &result)
53
0
{
54
0
  result = mUsername;
55
0
  return NS_OK;
56
0
}
57
58
NS_IMETHODIMP
59
nsProxyInfo::GetPassword(nsACString &result)
60
0
{
61
0
  result = mPassword;
62
0
  return NS_OK;
63
0
}
64
65
NS_IMETHODIMP
66
nsProxyInfo::GetFailoverTimeout(uint32_t *result)
67
0
{
68
0
  *result = mTimeout;
69
0
  return NS_OK;
70
0
}
71
72
NS_IMETHODIMP
73
nsProxyInfo::GetFailoverProxy(nsIProxyInfo **result)
74
0
{
75
0
  NS_IF_ADDREF(*result = mNext);
76
0
  return NS_OK;
77
0
}
78
79
NS_IMETHODIMP
80
nsProxyInfo::SetFailoverProxy(nsIProxyInfo *proxy)
81
0
{
82
0
  nsCOMPtr<nsProxyInfo> pi = do_QueryInterface(proxy);
83
0
  NS_ENSURE_ARG(pi);
84
0
85
0
  pi.swap(mNext);
86
0
  return NS_OK;
87
0
}
88
89
// These pointers are declared in nsProtocolProxyService.cpp and
90
// comparison of mType by string pointer is valid within necko
91
  extern const char kProxyType_HTTP[];
92
  extern const char kProxyType_HTTPS[];
93
  extern const char kProxyType_SOCKS[];
94
  extern const char kProxyType_SOCKS4[];
95
  extern const char kProxyType_SOCKS5[];
96
  extern const char kProxyType_DIRECT[];
97
98
bool
99
nsProxyInfo::IsDirect()
100
0
{
101
0
  if (!mType)
102
0
    return true;
103
0
  return mType == kProxyType_DIRECT;
104
0
}
105
106
bool
107
nsProxyInfo::IsHTTP()
108
0
{
109
0
  return mType == kProxyType_HTTP;
110
0
}
111
112
bool
113
nsProxyInfo::IsHTTPS()
114
0
{
115
0
  return mType == kProxyType_HTTPS;
116
0
}
117
118
bool
119
nsProxyInfo::IsSOCKS()
120
0
{
121
0
  return mType == kProxyType_SOCKS ||
122
0
    mType == kProxyType_SOCKS4 || mType == kProxyType_SOCKS5;
123
0
}
124
125
} // namespace net
126
} // namespace mozilla