diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2023-01-12 14:00:49 +0200 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2023-01-16 16:22:15 +0300 |
commit | 4e1978b3d65e22b96e0c4ff47ebae1a6de4de283 (patch) | |
tree | 0f47c814d749e0ec00d6aeba97d938beaa53a46e /bpkg/system-package-manager.hxx | |
parent | 1e61496d9c5f4943c320a0fccd36a6ab3da45248 (diff) |
Initial system package manager infrastructure
Diffstat (limited to 'bpkg/system-package-manager.hxx')
-rw-r--r-- | bpkg/system-package-manager.hxx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/bpkg/system-package-manager.hxx b/bpkg/system-package-manager.hxx new file mode 100644 index 0000000..122b181 --- /dev/null +++ b/bpkg/system-package-manager.hxx @@ -0,0 +1,34 @@ +// file : bpkg/system-package-manager.hxx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +#ifndef BPKG_SYSTEM_PACKAGE_MANAGER_HXX +#define BPKG_SYSTEM_PACKAGE_MANAGER_HXX + +//#include <libbpkg/manifest.hxx> // version +//#include <libbpkg/package-name.hxx> + +#include <bpkg/types.hxx> +#include <bpkg/utility.hxx> + +namespace bpkg +{ + // The system package manager interface. Used by both pkg-build (to query + // and install system packages) and by pkg-bindist (to build them). + // + class system_package_manager + { + public: + virtual + ~system_package_manager (); + }; + + // Create a package manager instance corresponding to the specified host + // target and optional manager type. If type is empty, return NULL if there + // is no support for this platform. + // + unique_ptr<system_package_manager> + make_system_package_manager (const target_triplet&, + const string& type); +} + +#endif // BPKG_SYSTEM_PACKAGE_MANAGER_HXX |