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 CHROMEOS_NETWORK_ONC_ONC_SIGNATURE_H_ 6 #define CHROMEOS_NETWORK_ONC_ONC_SIGNATURE_H_ 7 8 #include <string> 9 10 #include "base/values.h" 11 #include "chromeos/chromeos_export.h" 12 13 namespace chromeos { 14 namespace onc { 15 16 struct OncValueSignature; 17 18 struct OncFieldSignature { 19 const char* onc_field_name; 20 const OncValueSignature* value_signature; 21 }; 22 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; 28 }; 29 30 CHROMEOS_EXPORT const OncFieldSignature* GetFieldSignature( 31 const OncValueSignature& signature, 32 const std::string& onc_field_name); 33 34 CHROMEOS_EXPORT bool FieldIsCredential( 35 const OncValueSignature& signature, 36 const std::string& onc_field_name); 37 38 CHROMEOS_EXPORT extern const OncValueSignature kRecommendedSignature; 39 CHROMEOS_EXPORT extern const OncValueSignature kEAPSignature; 40 CHROMEOS_EXPORT extern const OncValueSignature kIssuerSubjectPatternSignature; 41 CHROMEOS_EXPORT extern const OncValueSignature kCertificatePatternSignature; 42 CHROMEOS_EXPORT extern const OncValueSignature kIPsecSignature; 43 CHROMEOS_EXPORT extern const OncValueSignature kL2TPSignature; 44 CHROMEOS_EXPORT extern const OncValueSignature kOpenVPNSignature; 45 CHROMEOS_EXPORT extern const OncValueSignature kVerifyX509Signature; 46 CHROMEOS_EXPORT extern const OncValueSignature kVPNSignature; 47 CHROMEOS_EXPORT extern const OncValueSignature kEthernetSignature; 48 CHROMEOS_EXPORT extern const OncValueSignature kIPConfigSignature; 49 CHROMEOS_EXPORT extern const OncValueSignature kProxyLocationSignature; 50 CHROMEOS_EXPORT extern const OncValueSignature kProxyManualSignature; 51 CHROMEOS_EXPORT extern const OncValueSignature kProxySettingsSignature; 52 CHROMEOS_EXPORT extern const OncValueSignature kWiFiSignature; 53 CHROMEOS_EXPORT extern const OncValueSignature kCertificateSignature; 54 CHROMEOS_EXPORT extern const OncValueSignature kNetworkConfigurationSignature; 55 CHROMEOS_EXPORT extern const OncValueSignature 56 kGlobalNetworkConfigurationSignature; 57 CHROMEOS_EXPORT extern const OncValueSignature kCertificateListSignature; 58 CHROMEOS_EXPORT extern const OncValueSignature 59 kNetworkConfigurationListSignature; 60 CHROMEOS_EXPORT extern const OncValueSignature kToplevelConfigurationSignature; 61 62 // Derived "ONC with State" signatures. 63 CHROMEOS_EXPORT extern const OncValueSignature kNetworkWithStateSignature; 64 CHROMEOS_EXPORT extern const OncValueSignature kWiFiWithStateSignature; 65 CHROMEOS_EXPORT extern const OncValueSignature kCellularSignature; 66 CHROMEOS_EXPORT extern const OncValueSignature kCellularWithStateSignature; 67 CHROMEOS_EXPORT extern const OncValueSignature kCellularProviderSignature; 68 CHROMEOS_EXPORT extern const OncValueSignature kCellularApnSignature; 69 70 } // namespace onc 71 } // namespace chromeos 72 73 #endif // CHROMEOS_NETWORK_ONC_ONC_SIGNATURE_H_ 74