//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

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

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.



class KRun : QObject
{
%TypeHeaderCode
#include <krun.h>
%End


public:
                            KRun (const KUrl& url, QWidget* window, mode_t mode = 0, bool isLocalFile = 0, bool showProgressInfo = 1, const QByteArray& asn = QByteArray());
    void                    abort ();
    bool                    hasError () const;
    bool                    hasFinished () const;
    bool                    autoDelete () const;
    void                    setAutoDelete (bool b);
    void                    setPreferredService (const QString& desktopEntryName);
    void                    setRunExecutables (bool b);
    void                    setEnableExternalBrowser (bool b);
    void                    setSuggestedFileName (const QString& fileName);
    QString                 suggestedFileName () const;
    static bool             run (const KService& service, const KUrl::List& urls, QWidget* window, bool tempFiles = 0, const QString& suggestedFileName = QString(), const QByteArray& asn = QByteArray());
    static bool             run (const QString& exec, const KUrl::List& urls, QWidget* window, const QString& name = QString(), const QString& icon = QString(), const QByteArray& asn = QByteArray());
    static bool             runUrl (const KUrl& url, const QString& mimetype, QWidget* window, bool tempFile = 0, bool runExecutables = 1, const QString& suggestedFileName = QString(), const QByteArray& asn = QByteArray());
    static bool             runCommand (const QString& cmd, QWidget* window);
    static bool             runCommand (const QString& cmd, const QString& execName, const QString& icon, QWidget* window, const QByteArray& asn = QByteArray());
    static bool             displayOpenWithDialog (const KUrl::List& lst, QWidget* window, bool tempFiles = 0, const QString& suggestedFileName = QString(), const QByteArray& asn = QByteArray());
    static void             shellQuote (QString& str);
    static QStringList      processDesktopExec (const KService& _service, const KUrl::List& _urls, bool tempFiles = 0, const QString& suggestedFileName = QString());
    static QString          binaryName (const QString& execLine, bool removePath);
    static bool             isExecutable (const QString& serviceType);
    static bool             isExecutableFile (const KUrl& url, const QString& mimetype);
//ig     static bool        checkStartupNotify (const QString& binName, const KService* service, bool* silent_arg, QByteArray* wmclass_arg);

signals:
    void                    finished ();
    void                    error ();

protected:
    void                    slotTimeout ();
    void                    slotScanFinished (KJob*);
    void                    slotScanMimeType (KIO::Job*, const QString& type);
    void                    mimeTypeDetermined (const QString& mimeType);
    virtual void            slotStatResult (KJob*);
    virtual void            init ();
    virtual void            scanFile ();
    virtual void            foundMimeType (const QString& type);
    virtual void            killJob ();
    void                    setUrl (const KUrl& url);
    KUrl                    url () const;
    void                    setError (bool error);
    void                    setProgressInfo (bool progressInfo);
    bool                    progressInfo () const;
    void                    setFinished (bool finished);
    void                    setJob (KIO::Job* job);
    KIO::Job*               job ();
    QTimer&                 timer ();
    void                    setDoScanFile (bool scanFile);
    bool                    doScanFile () const;
    void                    setIsDirecory (bool isDirectory);
    bool                    isDirectory () const;
    void                    setInitializeNextAction (bool initialize);
    bool                    initializeNextAction () const;
    void                    setIsLocalFile (bool isLocalFile);
    bool                    isLocalFile () const;
    void                    setMode (mode_t mode);
    mode_t                  mode () const;
};   // KRun


