| Index: trunk/src/net/http/disk_based_cert_cache.h
|
| ===================================================================
|
| --- trunk/src/net/http/disk_based_cert_cache.h (revision 280491)
|
| +++ trunk/src/net/http/disk_based_cert_cache.h (working copy)
|
| @@ -1,74 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef NET_HTTP_DISK_BASED_CERT_CACHE_H
|
| -#define NET_HTTP_DISK_BASED_CERT_CACHE_H
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/containers/hash_tables.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "net/base/net_export.h"
|
| -#include "net/cert/x509_certificate.h"
|
| -
|
| -namespace disk_cache {
|
| -class Backend;
|
| -} // namespace disk_cache
|
| -
|
| -namespace net {
|
| -
|
| -// DiskBasedCertCache is used to store and retrieve X.509 certificates from the
|
| -// cache. Each individual certificate is stored separately from its certificate
|
| -// chain. No more than one copy (per certificate) will be stored on disk.
|
| -class NET_EXPORT_PRIVATE DiskBasedCertCache {
|
| - public:
|
| - typedef base::Callback<void(const X509Certificate::OSCertHandle cert_handle)>
|
| - GetCallback;
|
| - typedef base::Callback<void(const std::string&)> SetCallback;
|
| -
|
| - // Initializes a new DiskBasedCertCache that will use |backend|, which has
|
| - // previously been initialized, to store the certificate in the cache.
|
| - explicit DiskBasedCertCache(disk_cache::Backend* backend);
|
| - ~DiskBasedCertCache();
|
| -
|
| - // Fetches the certificate associated with |key|. If the certificate is
|
| - // found within the cache, |cb| will be called with the certificate.
|
| - // Otherwise, |cb| will be called with NULL. Callers that wish to store
|
| - // a reference to the certificate need to use X509Certificate::DupOSCertHandle
|
| - // inside |cb|.
|
| - void Get(const std::string& key, const GetCallback& cb);
|
| -
|
| - // Stores |cert_handle| in the cache. If |cert_handle| is successfully stored,
|
| - // |cb| will be called with the key. If |cb| is called with an empty
|
| - // string, then |cert_handle| was not stored.
|
| - void Set(const X509Certificate::OSCertHandle cert_handle,
|
| - const SetCallback& cb);
|
| -
|
| - private:
|
| - class ReadWorker;
|
| - class WriteWorker;
|
| -
|
| - // ReadWorkerMap and WriteWorkerMap map cache keys to their
|
| - // corresponding Workers.
|
| - typedef base::hash_map<std::string, ReadWorker*> ReadWorkerMap;
|
| - typedef base::hash_map<std::string, WriteWorker*> WriteWorkerMap;
|
| -
|
| - // FinishedReadOperation and FinishedWriteOperation are used by callbacks
|
| - // given to the workers to signal the DiskBasedCertCache they have completed
|
| - // their work.
|
| - void FinishedReadOperation(const std::string& key);
|
| - void FinishedWriteOperation(const std::string& key);
|
| -
|
| - ReadWorkerMap read_worker_map_;
|
| - WriteWorkerMap write_worker_map_;
|
| -
|
| - disk_cache::Backend* backend_;
|
| - base::WeakPtrFactory<DiskBasedCertCache> weak_factory_;
|
| - DISALLOW_COPY_AND_ASSIGN(DiskBasedCertCache);
|
| -};
|
| -
|
| -} // namespace net
|
| -
|
| -#endif // NET_HTTP_DISK_BASED_CERT_CACHE_H
|
|
|