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.
5 #ifndef CHROMEOS_NETWORK_ONC_ONC_SIGNATURE_H_
6 #define CHROMEOS_NETWORK_ONC_ONC_SIGNATURE_H_
10 #include "base/values.h"
11 #include "chromeos/chromeos_export.h"
16 struct OncValueSignature
;
18 struct OncFieldSignature
{
19 const char* onc_field_name
;
20 const OncValueSignature
* value_signature
;
23 struct CHROMEOS_EXPORT OncValueSignature
{
24 base::Value::Type onc_type
;
25 const OncFieldSignature
* fields
;
26 const OncValueSignature
* onc_array_entry_signature
;
27 const OncValueSignature
* base_signature
;
30 CHROMEOS_EXPORT
const OncFieldSignature
* GetFieldSignature(
31 const OncValueSignature
& signature
,
32 const std::string
& onc_field_name
);
34 CHROMEOS_EXPORT
bool FieldIsCredential(const OncValueSignature
& signature
,
35 const std::string
& onc_field_name
);
37 CHROMEOS_EXPORT
extern const OncValueSignature kRecommendedSignature
;
38 CHROMEOS_EXPORT
extern const OncValueSignature kEAPSignature
;
39 CHROMEOS_EXPORT
extern const OncValueSignature kIssuerSubjectPatternSignature
;
40 CHROMEOS_EXPORT
extern const OncValueSignature kCertificatePatternSignature
;
41 CHROMEOS_EXPORT
extern const OncValueSignature kIPsecSignature
;
42 CHROMEOS_EXPORT
extern const OncValueSignature kL2TPSignature
;
43 CHROMEOS_EXPORT
extern const OncValueSignature kXAUTHSignature
;
44 CHROMEOS_EXPORT
extern const OncValueSignature kOpenVPNSignature
;
45 CHROMEOS_EXPORT
extern const OncValueSignature kThirdPartyVPNSignature
;
46 CHROMEOS_EXPORT
extern const OncValueSignature kVerifyX509Signature
;
47 CHROMEOS_EXPORT
extern const OncValueSignature kVPNSignature
;
48 CHROMEOS_EXPORT
extern const OncValueSignature kEthernetSignature
;
49 CHROMEOS_EXPORT
extern const OncValueSignature kIPConfigSignature
;
50 CHROMEOS_EXPORT
extern const OncValueSignature kSavedIPConfigSignature
;
51 CHROMEOS_EXPORT
extern const OncValueSignature kStaticIPConfigSignature
;
52 CHROMEOS_EXPORT
extern const OncValueSignature kProxyLocationSignature
;
53 CHROMEOS_EXPORT
extern const OncValueSignature kProxyManualSignature
;
54 CHROMEOS_EXPORT
extern const OncValueSignature kProxySettingsSignature
;
55 CHROMEOS_EXPORT
extern const OncValueSignature kWiFiSignature
;
56 CHROMEOS_EXPORT
extern const OncValueSignature kWiMAXSignature
;
57 CHROMEOS_EXPORT
extern const OncValueSignature kCertificateSignature
;
58 CHROMEOS_EXPORT
extern const OncValueSignature kNetworkConfigurationSignature
;
59 CHROMEOS_EXPORT
extern const OncValueSignature
60 kGlobalNetworkConfigurationSignature
;
61 CHROMEOS_EXPORT
extern const OncValueSignature kCertificateListSignature
;
62 CHROMEOS_EXPORT
extern const OncValueSignature
63 kNetworkConfigurationListSignature
;
64 CHROMEOS_EXPORT
extern const OncValueSignature kToplevelConfigurationSignature
;
66 // Derived "ONC with State" signatures.
67 CHROMEOS_EXPORT
extern const OncValueSignature kNetworkWithStateSignature
;
68 CHROMEOS_EXPORT
extern const OncValueSignature kWiFiWithStateSignature
;
69 CHROMEOS_EXPORT
extern const OncValueSignature kWiMAXWithStateSignature
;
70 CHROMEOS_EXPORT
extern const OncValueSignature kCellularSignature
;
71 CHROMEOS_EXPORT
extern const OncValueSignature kCellularWithStateSignature
;
72 CHROMEOS_EXPORT
extern const OncValueSignature kCellularProviderSignature
;
73 CHROMEOS_EXPORT
extern const OncValueSignature kCellularApnSignature
;
74 CHROMEOS_EXPORT
extern const OncValueSignature kCellularFoundNetworkSignature
;
75 CHROMEOS_EXPORT
extern const OncValueSignature kSIMLockStatusSignature
;
78 } // namespace chromeos
80 #endif // CHROMEOS_NETWORK_ONC_ONC_SIGNATURE_H_