/***************************************************************************
                            kde_KSycoca.h -  description
                             -------------------
    begin                : Wed Feb  6 15:12:26 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Feb  6 15:12:26 2002, using kalyptus 0.9.
 ***************************************************************************/

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

#ifndef KDE_KSYCOCA
#define KDE_KSYCOCA

#include <qtc/qtc_types.h>

#include <kdec/kde_types.h>

/**


 Read-only SYstem COnfiguration CAche
 
 @short 

*/

/** 
 Read-only database
    
*/
kde_KSycoca * kde_new_KSycoca();
void kde_del_KSycoca( kde_KSycoca* p );

/** 

 This is how factories get a stream to an entry
    
*/
//qt_QDataStream* kde_KSycoca_findEntry(kde_KSycoca* instPointer,int offset, kde_KSycocaType* type);

/** 

    
*/
//qt_QDataStream* kde_KSycoca_findFactory(kde_KSycoca* instPointer,kde_KSycocaFactoryId identifier);

/** 

    
*/
qt_QString * kde_KSycoca_kfsstnd_prefixes(kde_KSycoca* instPointer);

/** 

    
*/
qt_QString * kde_KSycoca_language(kde_KSycoca* instPointer);

/** 

 The database contains all changes made _before_ this time and
 _might_ contain changes made after that.
    
*/
unsigned int kde_KSycoca_timeStamp(kde_KSycoca* instPointer);

/** 

    
*/
//void kde_KSycoca_addFactory(kde_KSycoca* instPointer,kde_KSycocaFactory* arg1);

/** 

*/
int kde_KSycoca_isBuilding(kde_KSycoca* instPointer);
//k_dcop: /** * internal function for receiving kded/kbuildsycoca's signal, when the sycoca file changes */ void kde_KSycoca_notifyDatabaseChanged(kde_KSycoca* instPointer,qt_QStringList* arg1);

/** 
 Get or create the only instance of KSycoca (read-only)
    
*/
kde_KSycoca* kde_KSycoca_self( );

/** 
 Determine relative path for a .desktop file from a full path and a resource name
    
*/
qt_QString * kde_KSycoca_determineRelativePath( qt_QString * _fullpath, char* _resource);

/** 
 When you receive a "databaseChanged" signal, you can query here if
 a change has occured in a specific resource type.

*/
int kde_KSycoca_isChanged( char* type);

/** 

 Building database
    
*/
kde_KSycoca * kde_new_KSycoca1(int arg1);
int kde_KSycoca_checkVersion(kde_KSycoca* instPointer,int abortOnError);
int kde_KSycoca_openDatabase(kde_KSycoca* instPointer,int openDummyIfNotFound);
void kde_KSycoca_closeDatabase(kde_KSycoca* instPointer);

/** Casts a 'kde_KSycoca *' to a 'kde_DCOPObject*' */
kde_DCOPObject* kde_KSycoca_DCOPObject(kde_KSycoca* instPointer);

/** Casts a 'kde_KSycoca *' to a 'qt_QObject *' */
qt_QObject * kde_KSycoca_QObject(kde_KSycoca* instPointer);

#endif
