X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpackagemanager.h;h=b168d723e174739c3c652f376f7f1cefe407cda2;hb=HEAD;hp=4017065d83299de2d0c880f5d6a61b8139343f6a;hpb=3b13563d75a8fd711a9cf87cae62960f90a5bc39;p=builder.git diff --git a/source/packagemanager.h b/source/packagemanager.h deleted file mode 100644 index 4017065..0000000 --- a/source/packagemanager.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef PACKAGEMANAGER_H_ -#define PACKAGEMANAGER_H_ - -#include -#include -#include -#include - -class Builder; -class Package; - -/** -Keeps track of packages. Also responsible for locating previously unknown -packages by name. -*/ -class PackageManager -{ -public: - typedef std::map PackageMap; - -private: - typedef std::list SearchPath; - - Builder &builder; - SearchPath pkg_path; - SearchPath pkg_dirs; - bool no_externals; - PackageMap packages; - bool env_set; - -public: - PackageManager(Builder &); - ~PackageManager(); - - /** Prevent creation of source packages. */ - void set_no_externals(bool); - - /** Adds a package to the manager. Called from Package constructor. */ - void add_package(Package *); - - /** Returns a package from the cache. */ - Package *get_package(const std::string &); - - const PackageMap &get_packages() const { return packages; } - - /** Locates a package and creates it if necessary. */ - Package *find_package(const std::string &); - -private: - std::string run_pkgconfig(const std::string &, const std::string &); - - /** Determines the source directory of a package. Pkg-config is consulted - first, and if it fails, the package path is searched for matches. */ - Msp::FS::Path get_package_location(const std::string &); -}; - -#endif