3652326ed2
Previously all includes were anchored in one global mess of header files. This moves the includes into filesystem "namespaces" (if you will) for each sub-package of Nix. Note: This commit does not introduce the relevant build system changes.
42 lines
942 B
C++
42 lines
942 B
C++
#pragma once
|
|
|
|
#if ENABLE_S3
|
|
|
|
#include "libutil/ref.hh"
|
|
|
|
namespace Aws {
|
|
namespace Client {
|
|
class ClientConfiguration;
|
|
}
|
|
} // namespace Aws
|
|
namespace Aws {
|
|
namespace S3 {
|
|
class S3Client;
|
|
}
|
|
} // namespace Aws
|
|
|
|
namespace nix {
|
|
|
|
struct S3Helper {
|
|
ref<Aws::Client::ClientConfiguration> config;
|
|
ref<Aws::S3::S3Client> client;
|
|
|
|
S3Helper(const std::string& profile, const std::string& region,
|
|
const std::string& scheme, const std::string& endpoint);
|
|
|
|
ref<Aws::Client::ClientConfiguration> makeConfig(const std::string& region,
|
|
const std::string& scheme,
|
|
const std::string& endpoint);
|
|
|
|
struct DownloadResult {
|
|
std::shared_ptr<std::string> data;
|
|
unsigned int durationMs;
|
|
};
|
|
|
|
DownloadResult getObject(const std::string& bucketName,
|
|
const std::string& key);
|
|
};
|
|
|
|
} // namespace nix
|
|
|
|
#endif
|