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);
00101 KFileMetaInfo(const KUrl& url);
00105 KFileMetaInfo();
00109 KFileMetaInfo(const KFileMetaInfo&);
00113 ~KFileMetaInfo();
00117 const KFileMetaInfo& operator=(KFileMetaInfo const& kfmi);
00121 bool applyChanges();
00125 const QHash<QString, KFileMetaInfoItem>& items() const;
00126 KFileMetaInfoItem& item(const QString& key);
00127 const KFileMetaInfoItem& item(const QString& key) const;
00128 bool isValid() const;
00132 QStringList preferredKeys() const;
00136 QStringList supportedKeys() const;
00137 KIO_EXPORT friend QDataStream& operator >>(QDataStream& s, KFileMetaInfo& )
00138 ;
00139 KIO_EXPORT friend QDataStream& operator <<(QDataStream& s, const KFileMetaInfo&);
00143 KDE_DEPRECATED KFileMetaInfoGroupList preferredGroups() const;
00147 KDE_DEPRECATED KFileMetaInfoGroupList supportedGroups() const;
00148 KFileMetaInfoGroupList groups() const;
00149 QStringList keys() const;
00150 const KUrl& url() const;
00151
00152 private:
00153 QSharedDataPointer<KFileMetaInfoPrivate> p;
00154 };
00155
00156 Q_DECLARE_OPERATORS_FOR_FLAGS(KFileMetaInfo::WhatFlags)
00157
00158
00159 #endif