Home | History | Annotate | Download | only in onc
      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 "chromeos/network/onc/onc_constants.h"
     11 #include "net/cert/x509_certificate.h"
     12 
     13 namespace base {
     14 class ListValue;
     15 }
     16 
     17 namespace chromeos {
     18 namespace onc {
     19 
     20 class 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