# kio Library API Documentation

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

# krun.h

    00001 /* This file is part of the KDE project
    00002    Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
    00003
    00004    This library is free software; you can redistribute it and/or
    00005    modify it under the terms of the GNU Library General Public
    00006    License as published by the Free Software Foundation; either
    00007    version 2 of the License, or (at your option) any later version.
    00008
    00009    This library is distributed in the hope that it will be useful,
    00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00012    Library General Public License for more details.
    00013
    00014    You should have received a copy of the GNU Library General Public License
    00015    along with this library; see the file COPYING.LIB.  If not, write to
    00016    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00017    Boston, MA 02111-1307, USA.
    00018 */
    00019
    00020 #ifndef __k_run_h__
    00021 #define __k_run_h__
    00022
    00023 #include <sys/stat.h>
    00024 #include <sys/types.h>
    00025
    00026 #include <qobject.h>
    00027 #include <qtimer.h>
    00028 #include <qstring.h>
    00029 #include <kurl.h>
    00030 #include <kstartupinfo.h>
    00031
    00032 class KProcess;
    00033 class KService;
    00034 namespace KIO {
    00035    class Job;
    00036    class StatJob;
    00037 }
    00038
    00057 class KIO_EXPORT KRun : public QObject
    00058 {
    00059   Q_OBJECT
    00060 public:
    00084   KRun( const KURL& url, mode_t mode = 0,
    00085     bool isLocalFile = false, bool showProgressInfo = true );
    00086
    00111   KRun( const KURL& url, QWidget* window, mode_t mode = 0,
    00112     bool isLocalFile = false, bool showProgressInfo = true );
    00113
    00118   virtual ~KRun();
    00119
    00126   void abort();
    00127
    00133   bool hasError() const { return m_bFault; }
    00134
    00140   bool hasFinished() const { return m_bFinished; }
    00141
    00149   bool autoDelete() const { return m_bAutoDelete; }
    00150
    00159   void setAutoDelete(bool b) { m_bAutoDelete = b; }
    00160
    00169   void setPreferredService( const QString& desktopEntryName );
    00170
    00178   void setRunExecutables(bool b);
    00179
    00187   void setEnableExternalBrowser(bool b);
    00188
    00199   // BIC merge second overload with first one, using tempFiles=false
    00200   static pid_t run( const KService& _service, const KURL::List& _urls, bool tempFiles );
    00201   static pid_t run( const KService& _service, const KURL::List& _urls );
    00202
    00215   static pid_t run( const QString& _exec, const KURL::List& _urls,
    00216            const QString& _name = QString::null,
    00217            const QString& _icon = QString::null,
    00218            const QString& _obsolete1 = QString::null,
    00219            const QString& _obsolete2 = QString::null );
    00220
    00236   // BIC Merge second overload with first one using runExecutables=true, and
    00237   // merge third overload with first one as well using tempFiles=false and
    00238   // runExecutables=true
    00239   static pid_t runURL( const KURL& _url, const QString& _mimetype, bool tempFile, bool runExecutables);
    00240   static pid_t runURL( const KURL& _url, const QString& _mimetype, bool tempFile);
    00241   static pid_t runURL( const KURL& _url, const QString& _mimetype );
    00242
    00257   static pid_t runCommand( QString cmd );
    00258
    00270   static pid_t runCommand( const QString& cmd, const QString & execName, const QString & icon );
    00271
    00279   // BIC merge second overload with first one, using tempFiles=false
    00280   static bool displayOpenWithDialog( const KURL::List& lst, bool tempFiles );
    00281   static bool displayOpenWithDialog( const KURL::List& lst );
    00282
    00287   static void shellQuote( QString &_str );
    00288
    00303   // BIC merge second overload with first one, using tempFiles=false
    00304   static QStringList processDesktopExec(const KService &_service, const KURL::List &_urls, bool has_shell, bool tempFiles);
    00305   static QStringList processDesktopExec(const KService &_service, const KURL::List &_urls, bool has_shell);
    00306
    00315   static QString binaryName( const QString & execLine, bool removePath );
    00316
    00322   static bool isExecutable( const QString& serviceType );
    00323
    00337    static bool isExecutableFile( const KURL& url, const QString &mimetype );
    00338
    00343     static bool checkStartupNotify( const QString& binName, const KService* service, bool* silent_arg, QCString* wmclass_arg );
    00344
    00345 signals:
    00350   void finished();
    00355   void error();
    00356
    00357 protected slots:
    00358   void slotTimeout();
    00359   void slotScanFinished( KIO::Job * );
    00360   void slotScanMimeType( KIO::Job *, const QString &type );
    00361   virtual void slotStatResult( KIO::Job * );
    00362
    00363 protected:
    00364   virtual void init();
    00365
    00366   virtual void scanFile();
    00367
    00373   virtual void foundMimeType( const QString& _type );
    00374
    00375   virtual void killJob();
    00376
    00377   KURL m_strURL;
    00378   bool m_bFault;
    00379   bool m_bAutoDelete;
    00380   bool m_bProgressInfo;
    00381   bool m_bFinished;
    00382   KIO::Job * m_job;
    00383   QTimer m_timer;
    00384
    00389   bool m_bScanFile;
    00390   bool m_bIsDirectory;
    00391
    00396   bool m_bInit;
    00397
    00398   bool m_bIsLocalFile;
    00399   mode_t m_mode;
    00400
    00401 protected:
    00402   virtual void virtual_hook( int id, void* data );
    00403
    00404 private:
    00405   void init (const KURL& url, QWidget* window, mode_t mode,
    00406              bool isLocalFile, bool showProgressInfo);
    00407 private:
    00408   class KRunPrivate;
    00409   KRunPrivate *d;
    00410 };
    00411
    00412 #ifndef KDE_NO_COMPAT
    00413
    00419 class KIO_EXPORT_DEPRECATED KOpenWithHandler
    00420 {
    00421 public:
    00422   KOpenWithHandler() {}
    00423   static bool exists() { return true; }
    00424 };
    00425 #endif
    00426
    00433 class KIO_EXPORT KProcessRunner : public QObject
    00434 {
    00435   Q_OBJECT
    00436
    00437   public:
    00438
    00439     static pid_t run(KProcess *, const QString & binName);
    00440 #ifdef Q_WS_X11 // We don't have KStartupInfo in Qt/Embedded
    00441     static pid_t run(KProcess *, const QString & binName, const KStartupInfoId& id );
    00442 #endif
    00443
    00444     virtual ~KProcessRunner();
    00445
    00446     pid_t pid() const;
    00447
    00448   protected slots:
    00449
    00450     void slotProcessExited(KProcess *);
    00451
    00452   private:
    00453
    00454     KProcessRunner(KProcess *, const QString & binName);
    00455 #ifdef Q_WS_X11 // We don't have KStartupInfo in Qt/Embedded
    00456     KProcessRunner(KProcess *, const QString & binName, const KStartupInfoId& id );
    00457 #endif
    00458     KProcessRunner();
    00459
    00460     KProcess * process_;
    00461     QString binName;
    00462 #ifdef Q_WS_X11 // We don't have KStartupInfo in Qt/Embedded
    00463     KStartupInfoId id_;
    00464 #endif
    00465 };
    00466
    00467 #endif

This file is part of the documentation for kio Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:24:03 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003