Skip to content
Snippets Groups Projects
package.h 1.01 KiB
Newer Older
akiraohgaki's avatar
akiraohgaki committed
/**
 * A library for Qt app
 *
 * LICENSE: The GNU Lesser General Public License, version 3.0
 *
 * @author      Akira Ohgaki <akiraohgaki@gmail.com>
 * @copyright   Akira Ohgaki
 * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
 * @link        https://github.com/akiraohgaki/qt-libs
 */

#pragma once
akiraohgaki's avatar
akiraohgaki committed

#include <QObject>

akiraohgaki's avatar
akiraohgaki committed
namespace utils {
akiraohgaki's avatar
akiraohgaki committed

class Package : public QObject
{
    Q_OBJECT

public:
    explicit Package(QObject *parent = 0);

akiraohgaki's avatar
akiraohgaki committed
    static bool installProgram(const QString &path, const QString &targetPath);
    static bool installFile(const QString &path, const QString &targetPath);
akiraohgaki's avatar
akiraohgaki committed
    static bool installPlasmapkg(const QString &path, const QString &type = "plasmoid");
    static bool uninstallPlasmapkg(const QString &path, const QString &type = "plasmoid");
akiraohgaki's avatar
akiraohgaki committed
    static bool uncompressArchive(const QString &path, const QString &targetDir);
akiraohgaki's avatar
akiraohgaki committed

private:
akiraohgaki's avatar
akiraohgaki committed
    static bool execute(const QString &program, const QStringList &arguments);
akiraohgaki's avatar
akiraohgaki committed
};

akiraohgaki's avatar
akiraohgaki committed
} // namespace utils