3#include <boost/filesystem/operations.hpp>
5#include <userver/dump/factory.hpp>
6#include <userver/dump/operations.hpp>
7#include <userver/utils/fast_pimpl.hpp>
8#include <userver/utils/strong_typedef.hpp>
10USERVER_NAMESPACE_BEGIN
16class EncryptedWriter
final :
public Writer {
23 ~EncryptedWriter()
override;
28 void WriteRaw(std::string_view data)
override;
31 utils::FastPimpl<Impl, 632, 8> impl_;
34class EncryptedReader
final :
public Reader {
40 ~EncryptedReader()
override;
45 std::string_view ReadRaw(std::size_t max_size)
override;
48 utils::FastPimpl<Impl, 600, 8> impl_;
53 EncryptedOperationsFactory(SecretKey&& secret_key,
54 boost::filesystem::perms perms);
56 std::unique_ptr<Reader> CreateReader(std::string full_path)
override;
58 std::unique_ptr<Writer> CreateWriter(std::string full_path,
59 tracing::ScopeTime& scope)
override;
62 const SecretKey secret_key_;
63 const boost::filesystem::perms perms_;