repoindex/lib/alpm/mingwbundle.h

41 lines
1.1 KiB
C++

#ifndef PACKAGEMANAGEMENT_MINGWBUNDLE_H
#define PACKAGEMANAGEMENT_MINGWBUNDLE_H
#include "./package.h"
#include "./alpmdatabase.h"
#include <c++utilities/application/argumentparser.h>
namespace RepoIndex {
class Manager;
struct IncludedPackage
{
IncludedPackage(const Package *package, bool dependencyOnly);
bool operator==(const Package *package) const;
const Package *package;
bool dependencyOnly;
};
class MingwBundle
{
public:
MingwBundle(Manager &manager, const std::vector<const char *> &packages, const std::vector<const char *> &iconPackages, const std::vector<const char *> &extraPackages, const std::vector<const char *> &qtPlugins);
void createBundle(const std::string &targetDir, const std::string &targetName, const std::string &targetFormat, const std::string &defaultIconTheme) const;
private:
void addDependencies(const Package *pkg);
Manager &m_manager;
std::list<IncludedPackage> m_packages;
const std::vector<const char *> &m_extraPackages;
const std::vector<const char *> &m_qtPlugins;
};
} // namespace PackageManagement
#endif // PACKAGEMANAGEMENT_MINGWBUNDLE_H