Upstream version 5.34.92.0
[platform/framework/web/crosswalk.git] / src / net / quic / crypto / scoped_evp_aead_ctx.h
1 // Copyright 2014 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 NET_QUIC_CRYPTO_SCOPED_EVP_AEAD_CTX_H_
6 #define NET_QUIC_CRYPTO_SCOPED_EVP_AEAD_CTX_H_
7
8 #include <openssl/evp.h>
9
10 namespace net {
11
12 // ScopedEVPAEADCtx manages an EVP_AEAD_CTX object and calls the needed cleanup
13 // functions when it goes out of scope.
14 class ScopedEVPAEADCtx {
15  public:
16   ScopedEVPAEADCtx();
17   ~ScopedEVPAEADCtx();
18
19   EVP_AEAD_CTX* get();
20
21  private:
22   EVP_AEAD_CTX ctx_;
23 };
24
25 }  // namespace net
26
27 #endif  // NET_QUIC_CRYPTO_SCOPED_EVP_AEAD_CTX_H_