# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# kstandarddirs.h

    00001 /*
    00002   This file is part of the KDE libraries
    00003   Copyright (C) 1999 Sirtaj Singh Kang <taj@kde.org>
    00004                      Stephan Kulow <coolo@kde.org>
    00005                      Waldo Bastian <bastian@kde.org>
    00006
    00007   This library is free software; you can redistribute it and/or
    00008   modify it under the terms of the GNU Library General Public
    00009   License as published by the Free Software Foundation; either
    00010   version 2 of the License, or (at your option) any later version.
    00011
    00012   This library is distributed in the hope that it will be useful,
    00013   but WITHOUT ANY WARRANTY; without even the implied warranty of
    00014   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00015   Library General Public License for more details.
    00016
    00017   You should have received a copy of the GNU Library General Public License
    00018   along with this library; see the file COPYING.LIB.  If not, write to
    00019   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00020   Boston, MA 02111-1307, USA.
    00021 */
    00022
    00023 #ifndef SSK_KSTDDIRS_H
    00024 #define SSK_KSTDDIRS_H
    00025
    00026 #include <qstring.h>
    00027 #include <qdict.h>
    00028 #include <qstringlist.h>
    00029 #include <kglobal.h>
    00030
    00031 class KConfig;
    00032 class KStandardDirsPrivate;
    00033
    00125 class KStandardDirs
    00126 {
    00127 public:
    00131         KStandardDirs( );
    00132
    00136         virtual ~KStandardDirs();
    00137
    00147         void addPrefix( const QString& dir );
    00148
    00168         bool addResourceType( const char *type,
    00169                               const QString& relativename );
    00170
    00186         bool addResourceDir( const char *type,
    00187                              const QString& absdir);
    00188
    00207         QString findResource( const char *type,
    00208                               const QString& filename ) const;
    00209
    00225         bool isRestrictedResource( const char *type,
    00226                               const QString& relPath=QString::null ) const;
    00227
    00240         Q_UINT32 calcResourceHash( const char *type,
    00241                               const QString& filename, bool deep) const;
    00242
    00259         QStringList findDirs( const char *type,
    00260                               const QString& reldir ) const;
    00261
    00282         QString findResourceDir( const char *type,
    00283                                  const QString& filename) const;
    00284
    00285
    00305         QStringList findAllResources( const char *type,
    00306                                        const QString& filter = QString::null,
    00307                                        bool recursive = false,
    00308                                        bool uniq = false) const;
    00309
    00333         QStringList findAllResources( const char *type,
    00334                                        const QString& filter,
    00335                                        bool recursive,
    00336                                        bool uniq,
    00337                                        QStringList &relPaths) const;
    00338
    00356         static QString findExe( const QString& appname,
    00357                                 const QString& pathstr=QString::null,
    00358                                 bool ignoreExecBit=false );
    00359
    00378         static int findAllExe( QStringList& list, const QString& appname,
    00379                                const QString& pathstr=QString::null,
    00380                                bool ignoreExecBit=false );
    00381
    00391         void addKDEDefaults();
    00392
    00402         bool addCustomized(KConfig *config);
    00403
    00415         QStringList resourceDirs(const char *type) const;
    00416
    00423         QStringList allTypes() const;
    00424
    00442          QString saveLocation(const char *type,
    00443                               const QString& suffix = QString::null,
    00444                               bool create = true) const;
    00445
    00461          QString relativeLocation(const char *type, const QString &absPath);
    00462
    00473         static bool makeDir(const QString& dir, int mode = 0755);
    00474
    00502         static QString kde_default(const char *type);
    00503
    00507         QString kfsstnd_prefixes();
    00508
    00515         QString localkdedir() const;
    00516
    00523         static bool exists(const QString &fullPath);
    00524
    00533         static QString realPath(const QString &dirname);
    00534  private:
    00535
    00536         QStringList prefixes;
    00537
    00538         // Directory dictionaries
    00539         QDict<QStringList> absolutes;
    00540         QDict<QStringList> relatives;
    00541
    00542         mutable QDict<QStringList> dircache;
    00543         mutable QDict<QString> savelocations;
    00544
    00545         // Disallow assignment and copy-construction
    00546         KStandardDirs( const KStandardDirs& );
    00547         KStandardDirs& operator= ( const KStandardDirs& );
    00548
    00549         bool addedCustoms;
    00550
    00551         class KStandardDirsPrivate;
    00552         KStandardDirsPrivate *d;
    00553
    00554         void checkConfig() const;
    00555         void applyDataRestrictions(const QString &) const;
    00556 };
    00557
    00614 QString locate( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
    00615
    00625 QString locateLocal( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
    00626
    00629 #endif // SSK_KSTDDIRS_H

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:46:56 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001