KDED
kctimefactory.h
Go to the documentation of this file.
00001 /* This file is part of the KDE project 00002 Copyright (C) 2000 Waldo Bastian <bastian@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License version 2as published by the Free Software Foundation. 00007 00008 This library is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 Library General Public License for more details. 00012 00013 You should have received a copy of the GNU Library General Public License 00014 along with this library; see the file COPYING.LIB. If not, write to 00015 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00016 Boston, MA 02110-1301, USA. 00017 */ 00018 00019 #ifndef KDED_KCTIME_FACTORY_H 00020 #define KDED_KCTIME_FACTORY_H 00021 00022 #include <ksycocafactory.h> 00023 #include <QtCore/QHash> 00024 00028 class KCTimeDict 00029 { 00030 public: 00031 void addCTime(const QString &path, const QByteArray& resource, quint32 ctime); 00032 quint32 ctime(const QString &path, const QByteArray& resource) const; 00033 void remove(const QString &path, const QByteArray& resource); 00034 void dump() const; 00035 bool isEmpty() const { return m_hash.isEmpty(); } 00036 QStringList resourceList() const; 00037 00038 void load(QDataStream &str); 00039 void save(QDataStream &str) const; 00040 private: 00041 typedef QHash<QString, quint32> Hash; 00042 Hash m_hash; 00043 }; 00044 00049 class KCTimeInfo : public KSycocaFactory // TODO rename to KCTimeFactory 00050 { 00051 K_SYCOCAFACTORY( KST_CTimeInfo ) 00052 public: 00056 KCTimeInfo(); 00057 00058 virtual ~KCTimeInfo(); 00059 00063 virtual void saveHeader(QDataStream &str); 00064 00068 virtual void save(QDataStream &str); 00069 00070 KSycocaEntry * createEntry(const QString &, const char *) const { return 0; } 00071 KSycocaEntry * createEntry(int) const { return 0; } 00072 00073 // Loads the dict and returns it; does not set m_ctimeDict; 00074 // this is only used in incremental mode for loading the old timestamps. 00075 KCTimeDict loadDict() const; 00076 00077 // The API for inserting/looking up entries is in KCTimeDict. 00078 KCTimeDict* dict() { return &m_ctimeDict; } 00079 00080 private: 00081 KCTimeDict m_ctimeDict; 00082 int m_dictOffset; 00083 }; 00084 00085 #endif
KDE 4.6 API Reference