aboutsummaryrefslogtreecommitdiff
path: root/bpkg/system-package-manager-debian.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-01-17 10:51:29 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-01-17 10:51:29 +0200
commit7a572b703b7207bb9bc7b2d8d3443152aac42d19 (patch)
treea0a18b1083d3017c067ad2669299380cf1eb4f82 /bpkg/system-package-manager-debian.hxx
parent6f41ca43cd46658dad840fb51d5fb59431ceac67 (diff)
Continue sketching system package manager interface
Diffstat (limited to 'bpkg/system-package-manager-debian.hxx')
-rw-r--r--bpkg/system-package-manager-debian.hxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/bpkg/system-package-manager-debian.hxx b/bpkg/system-package-manager-debian.hxx
new file mode 100644
index 0000000..5b1f764
--- /dev/null
+++ b/bpkg/system-package-manager-debian.hxx
@@ -0,0 +1,35 @@
+// file : bpkg/system-package-manager-debian.hxx -*- C++ -*-
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BPKG_SYSTEM_PACKAGE_MANAGER_DEBIAN_HXX
+#define BPKG_SYSTEM_PACKAGE_MANAGER_DEBIAN_HXX
+
+#include <bpkg/types.hxx>
+#include <bpkg/utility.hxx>
+
+#include <bpkg/system-package-manager.hxx>
+
+namespace bpkg
+{
+ // The system package manager implementation for Debian and alike (Ubuntu,
+ // etc) using the APT frontend.
+ //
+ class system_package_manager_debian: public system_package_manager
+ {
+ public:
+ virtual optional<const package_status*>
+ pkg_status (const package_name&,
+ const available_packages*,
+ bool install,
+ bool fetch) override;
+
+ public:
+ explicit
+ system_package_manager_debian (os_release&& osr)
+ : system_package_manager (move (osr)) {}
+
+ protected:
+ };
+}
+
+#endif // BPKG_SYSTEM_PACKAGE_MANAGER_DEBIAN_HXX