ksycoca.h
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__ "$Id: ksycoca.h,v 1.63.2.2 2003/05/05 21:03:52 mueller Exp $"
00021
00022 #include <dcopobject.h>
00023 #include <qobject.h>
00024 #include <qstringlist.h>
00025 #include "ksycocatype.h"
00026
00027 class QDataStream;
00028 class KSycocaPrivate;
00029 class KSycocaFactory;
00030 class KSycocaFactoryList;
00031
00032
00033
00034
00035
00036
00037 #define KSYCOCA_VERSION 61
00038
00043 class KSycoca : public QObject, public DCOPObject
00044 {
00045 Q_OBJECT
00046 K_DCOP
00047
00048 protected:
00053 KSycoca( bool );
00054
00055 public:
00056
00060 KSycoca();
00061
00065 static KSycoca *self();
00066 static bool _checkSelf();
00067
00068 virtual ~KSycoca();
00069
00074 QDataStream *findEntry(int offset, KSycocaType &type);
00078 QDataStream *findFactory( KSycocaFactoryId id);
00082 QString kfsstnd_prefixes();
00086 QString language();
00087
00094 Q_UINT32 timeStamp();
00095
00105 Q_UINT32 updateSignature();
00106
00110 void addFactory( KSycocaFactory * );
00111
00116 virtual bool isBuilding() { return false; }
00117
00121 void disableAutoRebuild();
00122
00126 static QString determineRelativePath( const QString & _fullpath, const char *_resource );
00127
00133 static bool isChanged(const char *type);
00134
00138 static void flagError();
00139
00143 static bool readError();
00144
00145 k_dcop:
00149 void notifyDatabaseChanged(const QStringList &);
00150
00151 signals:
00156 void databaseChanged();
00157
00158 protected:
00159 bool checkVersion(bool abortOnError=true);
00160 bool openDatabase(bool openDummyIfNotFound=true);
00161 void closeDatabase();
00162 KSycocaFactoryList *m_lstFactories;
00163 QDataStream *m_str;
00164 bool bNoDatabase;
00165 size_t m_sycoca_size;
00166 const char *m_sycoca_mmap;
00167 Q_UINT32 m_timeStamp;
00168
00169 public:
00170 static KSycoca *_self;
00171
00172 protected:
00173 virtual void virtual_hook( int id, void* data );
00174 private:
00175 KSycocaPrivate *d;
00176 };
00177
00178 #endif
This file is part of the documentation for kdelibs Version 3.1.4.