OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_BASE_NET_ERRORS_H__ | 5 #ifndef NET_BASE_NET_ERRORS_H__ |
6 #define NET_BASE_NET_ERRORS_H__ | 6 #define NET_BASE_NET_ERRORS_H__ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "net/base/net_export.h" | 12 #include "net/base/net_export.h" |
13 | 13 |
14 namespace net { | 14 namespace net { |
15 | 15 |
16 // Error domain of the net module's error codes. | 16 // Error domain of the net module's error codes. |
17 NET_EXPORT extern const char kErrorDomain[]; | 17 NET_EXPORT extern const char kErrorDomain[]; |
18 | 18 |
19 // Error values are negative. | 19 // Error values are negative. |
20 enum Error { | 20 enum Error { |
21 // No error. | 21 // No error. |
22 OK = 0, | 22 OK = 0, |
| 23 OK_HANDLED_EXTERNALLY = 1, |
23 | 24 |
24 #define NET_ERROR(label, value) ERR_ ## label = value, | 25 #define NET_ERROR(label, value) ERR_ ## label = value, |
25 #include "net/base/net_error_list.h" | 26 #include "net/base/net_error_list.h" |
26 #undef NET_ERROR | 27 #undef NET_ERROR |
27 | 28 |
28 // The value of the first certificate error code. | 29 // The value of the first certificate error code. |
29 ERR_CERT_BEGIN = ERR_CERT_COMMON_NAME_INVALID, | 30 ERR_CERT_BEGIN = ERR_CERT_COMMON_NAME_INVALID, |
30 }; | 31 }; |
31 | 32 |
32 // Returns a textual representation of the error code for logging purposes. | 33 // Returns a textual representation of the error code for logging purposes. |
33 NET_EXPORT const char* ErrorToString(int error); | 34 NET_EXPORT const char* ErrorToString(int error); |
34 | 35 |
35 // Returns true if |error| is a certificate error code. | 36 // Returns true if |error| is a certificate error code. |
36 inline bool IsCertificateError(int error) { | 37 inline bool IsCertificateError(int error) { |
37 // Certificate errors are negative integers from net::ERR_CERT_BEGIN | 38 // Certificate errors are negative integers from net::ERR_CERT_BEGIN |
38 // (inclusive) to net::ERR_CERT_END (exclusive) in *decreasing* order. | 39 // (inclusive) to net::ERR_CERT_END (exclusive) in *decreasing* order. |
39 return error <= ERR_CERT_BEGIN && error > ERR_CERT_END; | 40 return error <= ERR_CERT_BEGIN && error > ERR_CERT_END; |
40 } | 41 } |
41 | 42 |
| 43 // Returns true if |error| is a success error code. |
| 44 inline bool IsSuccess(int error) { |
| 45 return error >= OK; |
| 46 } |
| 47 |
| 48 inline bool IsSuccessOrPending(int error) { |
| 49 return IsSuccess(error) || error == ERR_IO_PENDING; |
| 50 } |
| 51 |
42 // Map system error code to Error. | 52 // Map system error code to Error. |
43 NET_EXPORT Error MapSystemError(int os_error); | 53 NET_EXPORT Error MapSystemError(int os_error); |
44 | 54 |
45 // Returns a list of all the possible net error codes (not counting OK). This | 55 // Returns a list of all the possible net error codes (not counting OK). This |
46 // is intended for use with UMA histograms that are reporting the result of | 56 // is intended for use with UMA histograms that are reporting the result of |
47 // an action that is represented as a net error code. | 57 // an action that is represented as a net error code. |
48 // | 58 // |
49 // Note that the error codes are all positive (since histograms expect positive | 59 // Note that the error codes are all positive (since histograms expect positive |
50 // sample values). Also note that a guard bucket is created after any valid | 60 // sample values). Also note that a guard bucket is created after any valid |
51 // error code that is not followed immediately by a valid error code. | 61 // error code that is not followed immediately by a valid error code. |
52 std::vector<int> GetAllErrorCodesForUma(); | 62 std::vector<int> GetAllErrorCodesForUma(); |
53 | 63 |
54 } // namespace net | 64 } // namespace net |
55 | 65 |
56 #endif // NET_BASE_NET_ERRORS_H__ | 66 #endif // NET_BASE_NET_ERRORS_H__ |
OLD | NEW |