#include "Cli.h" #include #include #include #include #if defined(_MSC_VER) #include #else #include #endif using namespace cryfs; using cpputils::Random; using cpputils::SCrypt; using cpputils::IOStreamConsole; using cpputils::make_unique_ref; using std::make_shared; using std::cerr; int main(int argc, const char *argv[]) { try { auto &keyGenerator = Random::OSRandom(); #if defined(_MSC_VER) auto httpClient = make_unique_ref(); #else auto httpClient = make_unique_ref(); #endif return Cli(keyGenerator, SCrypt::DefaultSettings, make_shared()) .main(argc, argv, std::move(httpClient)); } catch (const CryfsException &e) { if (e.errorCode() != ErrorCode::Success) { std::cerr << "Error: " << e.what() << std::endl; } return exitCode(e.errorCode()); } catch (const std::exception &e) { cerr << "Error: " << e.what(); return exitCode(ErrorCode::UnspecifiedError); } }