kstandarddirs.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
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 
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 
00543     QString localkdedir() const;
00544 
00549     QString localxdgdatadir() const;
00550 
00555     QString localxdgconfdir() const;
00556 
00563     static bool exists(const QString &fullPath);
00564 
00573         static QString realPath(const QString &dirname);
00574  private:
00575 
00576     QStringList prefixes;
00577 
00578     
00579     QDict<QStringList> absolutes;
00580     QDict<QStringList> relatives;
00581 
00582     mutable QDict<QStringList> dircache;
00583     mutable QDict<QString> savelocations;
00584 
00585     
00586     KStandardDirs( const KStandardDirs& );
00587     KStandardDirs& operator= ( const KStandardDirs& );
00588 
00589     bool addedCustoms;
00590 
00591         class KStandardDirsPrivate;
00592     KStandardDirsPrivate *d;
00593 
00594     void checkConfig() const;
00595     void applyDataRestrictions(const QString &) const;
00596     void createSpecialResource(const char*);
00597 };
00598 
00655 QString locate( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00656 
00666 QString locateLocal( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00667 
00677 QString locateLocal( const char *type, const QString& filename, bool createDir, const KInstance* instance = KGlobal::instance() );
00678 
00681 #endif // SSK_KSTDDIRS_H
 
This file is part of the documentation for kdecore Library Version 3.2.0.