//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.



class KSycoca : QObject
{
%TypeHeaderCode
#include <ksycoca.h>
%End


protected:
    explicit                KSycoca (bool);


public:
    enum DatabaseType
    {
        LocalDatabase,
        GlobalDatabase
    };

                            KSycoca ();
    static KSycoca*         self ();
    static int              version ();
    static bool             isAvailable ();
    QDataStream*            findEntry (int offset, KSycocaType& type);
    QDataStream*            findFactory (KSycocaFactoryId id);
    QString                 kfsstnd_prefixes ();
    static QString          absoluteFilePath (KSycoca::DatabaseType type = KSycoca::LocalDatabase);
    QString                 language ();
    quint32                 timeStamp ();
    quint32                 updateSignature ();
    QStringList             allResourceDirs ();
//    void                    addFactory (KSycocaFactory*);
    virtual bool            isBuilding ();
    static void             disableAutoRebuild ();
    static bool             isChanged (const char* type);
    static void             flagError ();
    static bool             readError ();

signals:
    void                    databaseChanged ();
    void                    databaseChanged (const QStringList& changedResources);

protected:
//ig    KSycocaFactoryList*     factories ();
//ig    QDataStream*&           stream ();
private:
//force
                            KSycoca (const KSycoca&);

//end
public:
//ig    void                    disableAutoRebuild ();
//ig    void                    addFactory (KSycocaFactory*);
    ~KSycoca ();
};
// KSycoca


