AWS SDK for C++
0.14.3
AWS SDK for C++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
aws-cpp-sdk-core
include
aws
core
utils
crypto
CryptoStream.h
Go to the documentation of this file.
1
/*
2
* Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License").
5
* You may not use this file except in compliance with the License.
6
* A copy of the License is located at
7
*
8
* http://aws.amazon.com/apache2.0
9
*
10
* or in the "license" file accompanying this file. This file is distributed
11
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12
* express or implied. See the License for the specific language governing
13
* permissions and limitations under the License.
14
*/
15
#pragma once
16
17
#include <
aws/core/utils/crypto/CryptoBuf.h
>
18
#include <
aws/core/Core_EXPORTS.h
>
19
20
namespace
Aws
21
{
22
namespace
Utils
23
{
24
namespace
Crypto
25
{
45
class
AWS_CORE_API
SymmetricCryptoStream
:
public
Aws::IOStream
46
{
47
public
:
53
SymmetricCryptoStream
(
Aws::IStream
& src,
CipherMode
mode,
SymmetricCipher
& cipher,
size_t
bufLen =
DEFAULT_BUF_SIZE
);
59
SymmetricCryptoStream
(
Aws::OStream
& sink,
CipherMode
mode,
SymmetricCipher
& cipher,
size_t
bufLen =
DEFAULT_BUF_SIZE
);
63
SymmetricCryptoStream
(
Aws::Utils::Crypto::SymmetricCryptoBufSrc
& bufSrc);
67
SymmetricCryptoStream
(
Aws::Utils::Crypto::SymmetricCryptoBufSink
& bufSink);
68
69
SymmetricCryptoStream
(
const
SymmetricCryptoStream
&) =
delete
;
70
SymmetricCryptoStream
(
SymmetricCryptoStream
&&) =
delete
;
71
72
virtual
~
SymmetricCryptoStream
();
73
74
SymmetricCryptoStream
& operator=(
const
SymmetricCryptoStream
&) =
delete
;
75
SymmetricCryptoStream
& operator=(
SymmetricCryptoStream
&&) =
delete
;
76
77
83
void
Finalize();
84
85
private
:
86
CryptoBuf
* m_cryptoBuf;
87
bool
m_hasOwnership;
88
};
89
}
90
}
91
}
CryptoBuf.h
Aws::Utils::Crypto::CipherMode
CipherMode
Definition:
CryptoBuf.h:34
Aws::IStream
std::basic_istream< char, std::char_traits< char > > IStream
Definition:
AWSStreamFwd.h:30
Aws::Utils::Crypto::SymmetricCipher
Definition:
Cipher.h:35
Aws::IOStream
std::basic_iostream< char, std::char_traits< char > > IOStream
Definition:
AWSStreamFwd.h:32
Aws::Utils::Crypto::SymmetricCryptoBufSrc
Definition:
CryptoBuf.h:64
Aws::OStream
std::basic_ostream< char, std::char_traits< char > > OStream
Definition:
AWSStreamFwd.h:31
Aws::Utils::Crypto::SymmetricCryptoBufSink
Definition:
CryptoBuf.h:115
Aws::Utils::Crypto::CryptoBuf
Definition:
CryptoBuf.h:43
Aws::Utils::Crypto::SymmetricCryptoStream
Definition:
CryptoStream.h:45
Aws::Utils::Crypto::DEFAULT_BUF_SIZE
static const size_t DEFAULT_BUF_SIZE
Definition:
CryptoBuf.h:28
Core_EXPORTS.h
AWS_CORE_API
#define AWS_CORE_API
Definition:
Core_EXPORTS.h:35
Aws
JSON (JavaScript Object Notation).
Definition:
AccessManagementClient.h:24
Generated by
1.8.11