KDECore
ksycoca.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 #ifndef KSYCOCA_H
00020 #define KSYCOCA_H
00021
00022 #include <kdecore_export.h>
00023 #include <ksycocatype.h>
00024
00025 #include <QtCore/QObject>
00026 #include <QtCore/QStringList>
00027
00028 class QDataStream;
00029 class KSycocaFactory;
00030 class KSycocaFactoryList;
00031 class KSycocaPrivate;
00032
00036 #define KBUILDSYCOCA_EXENAME "kbuildsycoca4"
00037
00042 class KDECORE_EXPORT KSycoca : public QObject
00043 {
00044 Q_OBJECT
00045
00046
00047 protected:
00052 explicit KSycoca( bool );
00053
00054 public:
00059 typedef enum { LocalDatabase, GlobalDatabase } DatabaseType;
00060
00064 KSycoca();
00065
00069 static KSycoca *self();
00070
00071 virtual ~KSycoca();
00072
00076 static int version();
00077
00083 static bool isAvailable();
00084
00089 QDataStream *findEntry(int offset, KSycocaType &type);
00093 QDataStream *findFactory( KSycocaFactoryId id);
00097 QString kfsstnd_prefixes();
00107 static QString absoluteFilePath(DatabaseType type=LocalDatabase);
00111 QString language();
00112
00119 quint32 timeStamp();
00120
00130 quint32 updateSignature();
00131
00136 QStringList allResourceDirs();
00137
00141 void addFactory( KSycocaFactory * );
00142
00147 virtual bool isBuilding();
00148
00152 void disableAutoRebuild();
00153
00159 static bool isChanged(const char *type);
00160
00164 static void flagError();
00165
00169 static bool readError();
00170
00171 private Q_SLOTS:
00175 void notifyDatabaseChanged(const QStringList &);
00176
00177 Q_SIGNALS:
00182 void databaseChanged();
00183
00184 protected:
00185 KSycocaFactoryList* factories();
00186
00187
00188 QDataStream *m_str;
00189
00190 private:
00191 Q_DISABLE_COPY(KSycoca)
00192 friend class KSycocaPrivate;
00193 KSycocaPrivate * const d;
00194 };
00195
00196 #endif
00197