Plasma
package.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef PLASMA_PACKAGE_H
00022 #define PLASMA_PACKAGE_H
00023
00024 #include <QtCore/QStringList>
00025
00026 #include <plasma/plasma_export.h>
00027 #include <plasma/packagestructure.h>
00028
00029 namespace Plasma
00030 {
00031
00038 class PackageMetadata;
00039 class PackagePrivate;
00040
00041 class PLASMA_EXPORT Package
00042 {
00043 public:
00051 Package(const QString &packageRoot, const QString &package,
00052 PackageStructure::Ptr structure);
00053
00060 Package(const QString &packagePath, PackageStructure::Ptr structure);
00061
00062
00063
00064 ~Package();
00065
00070 bool isValid() const;
00071
00080 QString filePath(const char *fileType, const QString &filename) const;
00081
00090 QString filePath(const char *fileType) const;
00091
00099 QStringList entryList(const char *fileType) const;
00100
00104 PackageMetadata metadata() const;
00105
00109 const QString path() const;
00110
00114 const PackageStructure::Ptr structure() const;
00115
00123 static QStringList listInstalled(const QString &packageRoot);
00124
00132 static QStringList listInstalledPaths(const QString &packageRoot);
00133
00144 static bool installPackage(const QString &package,
00145 const QString &packageRoot,
00146 const QString &servicePrefix);
00147
00158 static bool uninstallPackage(const QString &package,
00159 const QString &packageRoot,
00160 const QString &servicePrefix);
00161
00168 static bool registerPackage(const PackageMetadata &data, const QString &iconPath);
00169
00180 static bool createPackage(const PackageMetadata &metadata,
00181 const QString &source,
00182 const QString &destination,
00183 const QString &icon = QString());
00184
00185 private:
00186 Q_DISABLE_COPY(Package)
00187 PackagePrivate * const d;
00188 };
00189
00190 }
00191
00192 #endif
00193