aboutsummaryrefslogtreecommitdiff
path: root/bpkg/pkg-purge.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2017-05-01 13:50:13 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2017-05-01 15:02:14 +0300
commit2319d01e262b705716e19474865f555f3ca81a7d (patch)
tree15ffb5b3f998a2cc0def729d2f1f76f578d8d139 /bpkg/pkg-purge.hxx
parent5fb0df6f63e02c141e8a0e5ad4543dea525df3fc (diff)
Add hxx extension for headers and lib prefix for library dirs
Diffstat (limited to 'bpkg/pkg-purge.hxx')
-rw-r--r--bpkg/pkg-purge.hxx38
1 files changed, 38 insertions, 0 deletions
diff --git a/bpkg/pkg-purge.hxx b/bpkg/pkg-purge.hxx
new file mode 100644
index 0000000..9468a02
--- /dev/null
+++ b/bpkg/pkg-purge.hxx
@@ -0,0 +1,38 @@
+// file : bpkg/pkg-purge.hxx -*- C++ -*-
+// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BPKG_PKG_PURGE_HXX
+#define BPKG_PKG_PURGE_HXX
+
+#include <bpkg/types.hxx>
+#include <bpkg/forward.hxx> // transaction, selected_package
+#include <bpkg/utility.hxx>
+
+#include <bpkg/pkg-purge-options.hxx>
+
+namespace bpkg
+{
+ int
+ pkg_purge (const pkg_purge_options&, cli::scanner& args);
+
+ // Purge the package, remove it from the database, and commit the
+ // transaction. If this fails, set the package state to broken.
+ //
+ void
+ pkg_purge (const dir_path& configuration,
+ transaction&,
+ const shared_ptr<selected_package>&);
+
+ // Remove package's filesystem objects (the source directory and, if
+ // the archive argument is true, the package archive). If this fails,
+ // set the package state to broken, commit the transaction, and fail.
+ //
+ void
+ pkg_purge_fs (const dir_path& configuration,
+ transaction&,
+ const shared_ptr<selected_package>&,
+ bool archive = true);
+}
+
+#endif // BPKG_PKG_PURGE_HXX