diff options
Diffstat (limited to 'bpkg/archive')
-rw-r--r-- | bpkg/archive | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/bpkg/archive b/bpkg/archive new file mode 100644 index 0000000..4d90384 --- /dev/null +++ b/bpkg/archive @@ -0,0 +1,38 @@ +// file : bpkg/archive -*- C++ -*- +// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BPKG_ARCHIVE +#define BPKG_ARCHIVE + +#include <butl/process> + +#include <bpkg/types> +#include <bpkg/utility> + +#include <bpkg/common-options> + +namespace bpkg +{ + // Return the package directory based on the package archive. + // + dir_path + package_dir (const path& archive); + + // Start the process of extracting the specified file from the archive. If + // error is false, then redirect STDERR to STDOUT (this can be used, for + // example, to suppress diagnostics). + // + butl::process + start_extract (const common_options&, + const path& archive, + const path& file, + bool error = true); + + // Start as above and then extract the file content as a string. + // + string + extract (const common_options&, const path& archive, const path& file); +} + +#endif // BPKG_ARCHIVE |