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 ~Package();
00063
00068 bool isValid() const;
00069
00078 QString filePath(const char *fileType, const QString &filename) const;
00079
00088 QString filePath(const char *fileType) const;
00089
00097 QStringList entryList(const char *fileType) const;
00098
00102 PackageMetadata metadata() const;
00103
00109 void setPath(const QString &path);
00110
00114 const QString path() const;
00115
00119 const PackageStructure::Ptr structure() const;
00120
00128 static QStringList listInstalled(const QString &packageRoot);
00129
00137 static QStringList listInstalledPaths(const QString &packageRoot);
00138
00151 static bool installPackage(const QString &package,
00152 const QString &packageRoot,
00153 const QString &servicePrefix);
00154
00165 static bool uninstallPackage(const QString &package,
00166 const QString &packageRoot,
00167 const QString &servicePrefix);
00168
00175 static bool registerPackage(const PackageMetadata &data, const QString &iconPath);
00176
00187 static bool createPackage(const PackageMetadata &metadata,
00188 const QString &source,
00189 const QString &destination,
00190 const QString &icon = QString());
00191
00192 private:
00193 Q_DISABLE_COPY(Package)
00194 PackagePrivate * const d;
00195 };
00196
00197 }
00198
00199 #endif
00200