1
/***************************************************************************
2
* Copyright © 2013 Lukas Appelhans <boom1992@chakra-project.org> *
4
* This program is free software; you can redistribute it and/or *
5
* modify it under the terms of the GNU General Public License as *
6
* published by the Free Software Foundation; either version 2 of *
7
* the License or (at your option) version 3 or any later version *
8
* accepted by the membership of KDE e.V. (or its successor approved *
9
* by the membership of KDE e.V.), which shall act as a proxy *
10
* defined in Section 14 of version 3 of the license. *
12
* This program is distributed in the hope that it will be useful, *
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15
* GNU General Public License for more details. *
17
* You should have received a copy of the GNU General Public License *
18
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
19
***************************************************************************/
20
#ifndef AKABEIRESOURCE_H
21
#define AKABEIRESOURCE_H
23
#include <resources/AbstractResource.h>
24
#include <akabeicore/akabeipackage.h>
29
class MUONPRIVATE_EXPORT AkabeiResource : public AbstractResource
33
AkabeiResource(Akabei::Package * pkg, AkabeiBackend * parent);
35
///used as internal identification of a resource
36
virtual QString packageName() const;
38
///resource name to be displayed
39
virtual QString name();
41
///short description of the resource
42
virtual QString comment();
44
///xdg-compatible icon name to represent the resource
45
virtual QString icon() const;
47
///@returns whether invokeApplication makes something
48
/// false if not overridden
49
virtual bool canExecute() const;
51
///executes the resource, if applies.
52
Q_SCRIPTABLE virtual void invokeApplication() const;
54
virtual State state();
56
virtual QStringList categories();
58
///@returns a URL that points to the content
59
virtual QUrl homepage();
61
virtual bool isTechnical() const;
63
virtual QUrl thumbnailUrl();
64
virtual QUrl screenshotUrl();
66
virtual int downloadSize();
67
virtual QString license();
69
virtual QString installedVersion() const;
70
virtual QString availableVersion() const;
71
virtual QString longDescription();
73
virtual QString origin() const;
74
virtual QString section();
76
///@returns what kind of mime types the resource can consume
77
virtual QStringList mimetypes() const;
79
virtual QList<PackageState> addonsInformation();
80
bool isFromSecureOrigin() const;
82
virtual QStringList executables() const;
84
Akabei::Package * package() const;
85
Akabei::Package * installedPackage() const;
88
virtual void fetchScreenshots();
89
virtual void fetchChangelog();
90
void addPackage(Akabei::Package * pkg);
94
void slotScreenshotsFetched(KJob *);
97
Akabei::Package * m_pkg;
98
Akabei::Package * m_installedPkg;
101
#endif // ABSTRACTRESOURCE_H