onc_certificate_importer.h revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
1// Copyright (c) 2013 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_CERTIFICATE_IMPORTER_H_ 6#define CHROMEOS_NETWORK_ONC_ONC_CERTIFICATE_IMPORTER_H_ 7 8#include "base/basictypes.h" 9#include "chromeos/chromeos_export.h" 10#include "components/onc/onc_constants.h" 11#include "net/cert/x509_certificate.h" 12 13namespace base { 14class ListValue; 15} 16 17namespace chromeos { 18namespace onc { 19 20class CHROMEOS_EXPORT CertificateImporter { 21 public: 22 CertificateImporter() {} 23 virtual ~CertificateImporter() {} 24 25 // Import the |certificates|, which must be a list of ONC Certificate objects. 26 // Certificates are only imported with web trust for user imports. If 27 // |onc_trusted_certificates| is not NULL, it will be filled with the list 28 // of certificates that requested the TrustBit "Web". If the "Remove" field of 29 // a certificate is enabled, then removes the certificate from the store 30 // instead of importing. Returns true if all certificates were imported 31 // successfully. 32 virtual bool ImportCertificates( 33 const base::ListValue& certificates, 34 ::onc::ONCSource source, 35 net::CertificateList* onc_trusted_certificates) = 0; 36 37 private: 38 DISALLOW_COPY_AND_ASSIGN(CertificateImporter); 39}; 40 41} // namespace onc 42} // namespace chromeos 43 44#endif // CHROMEOS_NETWORK_ONC_ONC_CERTIFICATE_IMPORTER_H_ 45