KIO
kfilemetainfo.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 KFILEMETAINFO_H
00022 #define KFILEMETAINFO_H
00023
00024 #include "predicateproperties.h"
00025 #include "kfilemetainfoitem.h"
00026 #include <QtCore/QList>
00027 #include <QtCore/QStringList>
00028 class KUrl;
00029
00030 typedef QList<KFileMetaInfoItem> KFileMetaInfoItemList;
00031
00032 class KFileMetaInfoGroupPrivate;
00033 class KIO_EXPORT KFileMetaInfoGroup {
00034 public:
00035 KFileMetaInfoGroup();
00036 KFileMetaInfoGroup(const KFileMetaInfoGroup&);
00037 ~KFileMetaInfoGroup();
00038 const KFileMetaInfoGroup& operator=(const KFileMetaInfoGroup&);
00039 KFileMetaInfoItemList items() const;
00040 const QString& name() const;
00041 const QStringList& keys() const;
00042 private:
00043 QSharedDataPointer<KFileMetaInfoGroupPrivate> p;
00044 };
00045
00046 typedef QList<KFileMetaInfoGroup> KFileMetaInfoGroupList;
00047
00048 class KFileMetaInfoPrivate;
00056 class KIO_EXPORT KFileMetaInfo {
00057 public:
00064 enum What
00065 {
00066 Fastest = 0x1,
00069
00070
00071
00072 TechnicalInfo = 0x4,
00075 ContentInfo = 0x8,
00077 ExternalSources = 0x10,
00081 Thumbnail = 0x20,
00083
00084
00085 LinkedData = 0x80,
00086 Everything = 0xffff
00087
00088 };
00089 Q_DECLARE_FLAGS(WhatFlags, What)
00090
00091
00095 explicit KFileMetaInfo(const QString& path, const QString& mimetype = QString(),
00096 WhatFlags w = Everything);
00102 KFileMetaInfo(const KUrl& url);
00106 KFileMetaInfo();
00110 KFileMetaInfo(const KFileMetaInfo&);
00114 ~KFileMetaInfo();
00118 const KFileMetaInfo& operator=(KFileMetaInfo const& kfmi);
00122 bool applyChanges();
00126 const QHash<QString, KFileMetaInfoItem>& items() const;
00127 KFileMetaInfoItem& item(const QString& key);
00128 const KFileMetaInfoItem& item(const QString& key) const;
00129 bool isValid() const;
00133 QStringList preferredKeys() const;
00137 QStringList supportedKeys() const;
00138 KIO_EXPORT friend QDataStream& operator >>(QDataStream& s, KFileMetaInfo& )
00139 ;
00140 KIO_EXPORT friend QDataStream& operator <<(QDataStream& s, const KFileMetaInfo&);
00144 KDE_DEPRECATED KFileMetaInfoGroupList preferredGroups() const;
00148 KDE_DEPRECATED KFileMetaInfoGroupList supportedGroups() const;
00149 KFileMetaInfoGroupList groups() const;
00150 QStringList keys() const;
00151 const KUrl& url() const;
00152
00153 private:
00154 QSharedDataPointer<KFileMetaInfoPrivate> p;
00155 };
00156
00157 Q_DECLARE_OPERATORS_FOR_FLAGS(KFileMetaInfo::WhatFlags)
00158
00159
00160 #endif