/* * Copyright (C) 2018 ScyllaDB * */ /* * SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 */ #pragma once #include #include #include #include "symmetric_key.hh" namespace encryption { class symmetric_key; shared_ptr make_encrypted_file(file, ::shared_ptr); using get_key_func = std::function>()>; shared_ptr make_delayed_encrypted_file(file, size_t, get_key_func); std::unique_ptr make_encrypted_sink(data_sink, ::shared_ptr); std::unique_ptr make_encrypted_source(data_source source, shared_ptr k); }