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.76 2003/12/10 13:58:31 waba 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 71
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 
00067    virtual ~KSycoca();
00068 
00069    static int version();
00070 
00075    QDataStream *findEntry(int offset, KSycocaType &type);
00079    QDataStream *findFactory( KSycocaFactoryId id);
00083    QString kfsstnd_prefixes();
00087    QString language();
00088 
00095    Q_UINT32 timeStamp();
00096 
00106    Q_UINT32 updateSignature();
00107 
00112    QStringList allResourceDirs();
00113 
00117    void addFactory( KSycocaFactory * );
00118 
00123    virtual bool isBuilding() { return false; }
00124 
00128    void disableAutoRebuild();
00129 
00133    static QString determineRelativePath( const QString & _fullpath, const char *_resource );
00134 
00140    static bool isChanged(const char *type);
00141    
00145    static void flagError();
00146    
00150    static bool readError();
00151 
00152 k_dcop:
00156    void notifyDatabaseChanged(const QStringList &);
00157 
00158 signals:
00163    void databaseChanged();
00164 
00165 protected:
00166    bool checkVersion(bool abortOnError=true);
00167    bool openDatabase(bool openDummyIfNotFound=true);
00168    void closeDatabase();
00169    KSycocaFactoryList *m_lstFactories;
00170    QDataStream *m_str;
00171    bool bNoDatabase;
00172    size_t m_sycoca_size;
00173    const char *m_sycoca_mmap;
00174    Q_UINT32 m_timeStamp;
00175 
00176 public:
00177    static KSycoca *_self; 
00178 
00179 protected:
00180   virtual void virtual_hook( int id, void* data );
00181 private:
00182    KSycocaPrivate *d;
00183 };
00184 
00185 #endif
 
This file is part of the documentation for kdecore Library Version 3.2.0.