• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

KDECore

kstandarddirs.h

Go to the documentation of this file.
00001 /*
00002   This file is part of the KDE libraries
00003   Copyright (C) 1999 Sirtaj Singh Kang <taj@kde.org>
00004   Copyright (C) 1999 Stephan Kulow <coolo@kde.org>
00005   Copyright (C) 1999 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., 51 Franklin Street, Fifth Floor,
00020   Boston, MA 02110-1301, 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 KDECORE_EXPORT KStandardDirs
00126 {
00127 public:
00131     KStandardDirs( );
00132 
00136     virtual ~KStandardDirs();
00137 
00147     void addPrefix( const QString& dir );
00148 
00156     void addXdgConfigPrefix( const QString& dir );
00157 
00165     void addXdgDataPrefix( const QString& dir );
00166 
00186     bool addResourceType( const char *type,
00187                   const QString& relativename );
00188 
00204     bool addResourceDir( const char *type,
00205                  const QString& absdir);
00206 
00225     QString findResource( const char *type,
00226                   const QString& filename ) const;
00227 
00243     bool isRestrictedResource( const char *type,
00244                   const QString& relPath=QString::null ) const;
00245 
00258     Q_UINT32 calcResourceHash( const char *type,
00259                   const QString& filename, bool deep) const;
00260 
00277     QStringList findDirs( const char *type,
00278                               const QString& reldir ) const;
00279 
00300     QString findResourceDir( const char *type,
00301                  const QString& filename) const;
00302 
00303 
00323     QStringList findAllResources( const char *type,
00324                        const QString& filter = QString::null,
00325                        bool recursive = false,
00326                        bool unique = false) const;
00327 
00350     QStringList findAllResources( const char *type,
00351                        const QString& filter,
00352                        bool recursive,
00353                        bool unique,
00354                        QStringList &relPaths) const;
00355 
00365     static QStringList systemPaths( const QString& pstr=QString::null );
00366 
00384     static QString findExe( const QString& appname,
00385                 const QString& pathstr=QString::null,
00386                 bool ignoreExecBit=false );
00387 
00406     static int findAllExe( QStringList& list, const QString& appname,
00407                    const QString& pathstr=QString::null,
00408                    bool ignoreExecBit=false );
00409 
00419     void addKDEDefaults();
00420 
00430     bool addCustomized(KConfig *config);
00431 
00443     QStringList resourceDirs(const char *type) const;
00444 
00451     QStringList allTypes() const;
00452 
00470      QString saveLocation(const char *type,
00471                   const QString& suffix = QString::null,
00472                   bool create = true) const;
00473 
00489          QString relativeLocation(const char *type, const QString &absPath);
00490 
00501     static bool makeDir(const QString& dir, int mode = 0755);
00502 
00530     static QString kde_default(const char *type);
00531 
00535     QString kfsstnd_prefixes();
00536 
00540     QString kfsstnd_xdg_conf_prefixes();
00541 
00545     QString kfsstnd_xdg_data_prefixes();
00546 
00553     QString localkdedir() const;
00554 
00559     static QString kfsstnd_defaultprefix();
00560 
00565     static QString kfsstnd_defaultbindir();
00566 
00571     QString localxdgdatadir() const;
00572 
00577     QString localxdgconfdir() const;
00578 
00586     static bool exists(const QString &fullPath);
00587 
00596     static QString realPath(const QString &dirname);
00597 
00606     static QString realFilePath(const QString &filename);
00607 
00608  private:
00609 
00610     QStringList prefixes;
00611 
00612     // Directory dictionaries
00613     QDict<QStringList> absolutes;
00614     QDict<QStringList> relatives;
00615 
00616     mutable QDict<QStringList> dircache;
00617     mutable QDict<QString> savelocations;
00618 
00619     // Disallow assignment and copy-construction
00620     KStandardDirs( const KStandardDirs& );
00621     KStandardDirs& operator= ( const KStandardDirs& );
00622 
00623     bool addedCustoms;
00624 
00625     class KStandardDirsPrivate;
00626     KStandardDirsPrivate *d;
00627 
00628     void checkConfig() const;
00629     void applyDataRestrictions(const QString &) const;
00630     void createSpecialResource(const char*);
00631 
00632         // Like their public counter parts but with an extra priority argument
00633         // If priority is true, the directory is added directly after
00634         // $KDEHOME/$XDG_DATA_HOME/$XDG_CONFIG_HOME
00635     void addPrefix( const QString& dir, bool priority );
00636     void addXdgConfigPrefix( const QString& dir, bool priority );
00637     void addXdgDataPrefix( const QString& dir, bool priority );
00638 
00639     // If priority is true, the directory is added before any other,
00640     // otherwise after
00641     bool addResourceType( const char *type,
00642                   const QString& relativename, bool priority );
00643     bool addResourceDir( const char *type,
00644                  const QString& absdir, bool priority);
00645 };
00646 
00703 KDECORE_EXPORT QString locate( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00704 
00714 KDECORE_EXPORT QString locateLocal( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00715 
00725 KDECORE_EXPORT QString locateLocal( const char *type, const QString& filename, bool createDir, const KInstance* instance = KGlobal::instance() );
00726 
00729 #endif // SSK_KSTDDIRS_H

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal