//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdeio  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KSycoca : TQObject, DCOPObject
{
%TypeHeaderCode
#include <tdesycoca.h>
%End


public:

%If ( KDE_3_1_4 -  )
    virtual bool         process (const TQCString&, const TQByteArray&, TQCString&, TQByteArray&);
    QCStringList         functions ();
    QCStringList         interfaces ();
%End


protected:
                         KSycoca (bool);

public:
                         KSycoca ();
    static KSycoca*      self ();

%If ( KDE_3_2_0 -  )
    static int           version ();
%End

    TQDataStream*         findEntry (int, KSycocaType& /Out/);
    TQDataStream*         findFactory (KSycocaFactoryId);
    TQString              kfsstnd_prefixes ();
    TQString              language ();
    ulong                timeStamp ();

%If ( KDE_3_1_0 -  )
    ulong                updateSignature ();

%If ( KDE_3_2_0 -  )
    TQStringList          allResourceDirs ();
%End

%End

    void                 addFactory (KSycocaFactory*);
    virtual bool         isBuilding ();

%If ( KDE_3_1_2 -  )
    void                 disableAutoRebuild ();
%End

    static TQString       determineRelativePath (const TQString&, const char*);
    static bool          isChanged (const char*);

%If ( KDE_3_1_0 -  )
    static void          flagError ();
    static bool          readError ();
%End


public:
    void                 notifyDatabaseChanged (const TQStringList&);

signals:
    void                 databaseChanged ();

protected:
    bool                 checkVersion (bool = 1);
    bool                 openDatabase (bool = 1);
    void                 closeDatabase ();

public:

%If ( KDE_3_1_0 -  )
//ig     KSycoca*             _self;
%End


protected:
//igx     virtual void         virtual_hook (int, void*);

//force
%ConvertToSubClassCode
    // The table of Python class objects indexed by their names.  The table
    // must be sorted by name.

    static sipStringTypeClassMap map[] = {
        {sipName_ChmodJob,                &sipClass_TDEIO_ChmodJob},
        {sipName_Connection,              &sipClass_TDEIO_Connection},
        {sipName_CopyJob,                 &sipClass_TDEIO_CopyJob},
#if TDE_VERSION >= 0x030100
        {sipName_DavJob,                  &sipClass_TDEIO_DavJob},
#endif
        {sipName_DefaultProgress,         &sipClass_TDEIO_DefaultProgress},
        {sipName_DeleteJob,               &sipClass_TDEIO_DeleteJob},
        {sipName_FileCopyJob,             &sipClass_TDEIO_FileCopyJob},
        {sipName_Job,                     &sipClass_TDEIO_Job},
        {sipName_KAutoMount,              &sipClass_KAutoMount},
        {sipName_KAutoUnmount,            &sipClass_KAutoUnmount},
        {sipName_KDataTool,               &sipClass_KDataTool},
        {sipName_KDataToolAction,         &sipClass_KDataToolAction},
        {sipName_KDirLister,              &sipClass_KDirLister},
        {sipName_KDirWatch,               &sipClass_KDirWatch},
        {sipName_KFileMetaInfoProvider,   &sipClass_KFileMetaInfoProvider},
        {sipName_KFilePlugin,             &sipClass_KFilePlugin},
        {sipName_KFilterBase,             &sipClass_KFilterBase},
        {sipName_KOCRDialog,              &sipClass_KOCRDialog},
        {sipName_KOCRDialogFactory,       &sipClass_KOCRDialogFactory},
        {sipName_TDEProcessRunner,          &sipClass_TDEProcessRunner},
        {sipName_KRun,                    &sipClass_KRun},
        {sipName_KScanDialog,             &sipClass_KScanDialog},
        {sipName_KScanDialogFactory,      &sipClass_KScanDialogFactory},
        {sipName_KShellCompletion,        &sipClass_KShellCompletion},
        {sipName_KShred,                  &sipClass_KShred},
        {sipName_KSycoca,                 &sipClass_KSycoca},
        {sipName_TDETrader,                 &sipClass_TDETrader},
        {sipName_KURIFilterPlugin,        &sipClass_KURIFilterPlugin},
        {sipName_KURLCompletion,          &sipClass_KURLCompletion},
        {sipName_ListJob,                 &sipClass_TDEIO_ListJob},
#if TDE_VERSION >= 0x030100
        {sipName_MetaInfoJob,             &sipClass_TDEIO_MetaInfoJob},
#endif        
        {sipName_MimetypeJob,             &sipClass_TDEIO_MimetypeJob},
        {sipName_MultiGetJob,             &sipClass_TDEIO_MultiGetJob},
        {sipName_NetAccess,               &sipClass_TDEIO_NetAccess},
        {sipName_Observer,                &sipClass_Observer},
        {sipName_PasswordDialog,          &sipClass_TDEIO_PasswordDialog},
        {sipName_PreviewJob,              &sipClass_TDEIO_PreviewJob},
        {sipName_ProgressBase,            &sipClass_TDEIO_ProgressBase},
        {sipName_RenameDlgPlugin,         &sipClass_RenameDlgPlugin},
        {sipName_Scheduler,               &sipClass_TDEIO_Scheduler},
        {sipName_SessionData,             &sipClass_TDEIO_SessionData},
        {sipName_SimpleJob,               &sipClass_TDEIO_SimpleJob},
        {sipName_Slave,                   &sipClass_TDEIO_Slave},
        {sipName_SlaveConfig,             &sipClass_TDEIO_SlaveConfig},
        {sipName_SlaveInterface,          &sipClass_TDEIO_SlaveInterface},
        {sipName_StatJob,                 &sipClass_TDEIO_StatJob},
        {sipName_StatusbarProgress,       &sipClass_TDEIO_StatusbarProgress},
        {sipName_TransferJob,             &sipClass_TDEIO_TransferJob},
    };

    sipClass = sipMapStringToClass(sipCpp -> className(),map,sizeof (map)/sizeof (map[0]));
%End
//end

};  // class KSycoca

