| // Copyright (c) 2011 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_BASE_SCOPED_CERT_CHAIN_CONTEXT_H_ |
| #define NET_BASE_SCOPED_CERT_CHAIN_CONTEXT_H_ |
| #pragma once |
| |
| #include <windows.h> |
| #include <wincrypt.h> |
| |
| #include "base/memory/scoped_ptr.h" |
| |
| namespace net { |
| |
| // This class wraps the CertFreeCertificateChain function in a class that can |
| // be passed as a template argument to scoped_ptr_malloc. |
| class ScopedPtrMallocFreeCertChain { |
| public: |
| void operator()(const CERT_CHAIN_CONTEXT* x) const { |
| CertFreeCertificateChain(x); |
| } |
| }; |
| |
| typedef scoped_ptr_malloc<const CERT_CHAIN_CONTEXT, |
| ScopedPtrMallocFreeCertChain> ScopedCertChainContext; |
| |
| } // namespace net |
| |
| #endif // NET_BASE_SCOPED_CERT_CHAIN_CONTEXT_H_ |