//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module tdeio  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KURIFilterData
{
%TypeHeaderCode
#include <tqstringlist.h>
#include <kurifilter.h>
%End


public:

    enum URITypes
    {
        NET_PROTOCOL, 
        LOCAL_FILE, 
        LOCAL_DIR, 
        EXECUTABLE, 
        HELP, 
        SHELL, 
        BLOCKED, 
        ERROR, 
        UNKNOWN
    };

                         KURIFilterData ();
                         KURIFilterData (const KURL&);
                         KURIFilterData (const TQString&);
                         KURIFilterData (const KURIFilterData&);
    bool                 hasBeenFiltered () const;
    KURL                 uri () const;
    TQString              errorMsg () const;
    URITypes             uriType () const;
    void                 setData (const TQString&);
    void                 setData (const KURL&);
    bool                 setAbsolutePath (const TQString&);
    TQString              absolutePath () const;
    bool                 hasAbsolutePath () const;
    TQString              argsAndOptions () const;
    bool                 hasArgsAndOptions () const;
    TQString              iconName ();

%If ( KDE_3_2_0 -  )
    void                 setCheckForExecutables (bool);
    bool                 checkForExecutables () const;
    TQString              typedString () const;
%End


protected:
    void                 init (const KURL&);
    void                 init (const KURL& = KURL (TQString ::null )) [void (TQString&)];
%MethodCode
//takes url | (KURL = KURL(TQString.null))

        Py_BEGIN_ALLOW_THREADS
        if (a0 == 0)
            sipCpp -> sipProtect_init(TQString::null);
        else
            sipCpp -> sipProtect_init(*a0);
        Py_END_ALLOW_THREADS
%End


};  // class KURIFilterData


class KURIFilterPlugin : TQObject
{
%TypeHeaderCode
#include <tqstringlist.h>
#include <kurifilter.h>
%End


public:
                         KURIFilterPlugin (TQObject* = 0, const char* = 0, double = 1.0);
    virtual TQString      name () const;
    virtual double       priority () const;
    virtual bool         filterURI (KURIFilterData&) const = 0;
    virtual TDECModule*    configModule (TQWidget*, const char*) const;
    virtual TQString      configName () const;

protected:
    void                 setFilteredURI (KURIFilterData&, const KURL&) const;
    void                 setErrorMsg (KURIFilterData&, const TQString&) const;
    void                 setURIType (KURIFilterData&, KURIFilterData::URITypes) const;
    void                 setArguments (KURIFilterData&, const TQString&) const;

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KURIFilterPlugin


class KURIFilter
{
%TypeHeaderCode
#include <tqstringlist.h>
#include <kurifilter.h>
%End


public:
    static KURIFilter*   self ();
    bool                 filterURI (KURIFilterData&, const TQStringList& = TQStringList ());
    bool                 filterURI (KURL&, const TQStringList& = TQStringList ());
    bool                 filterURI (TQString&, const TQStringList& = TQStringList ());
    KURL                 filteredURI (const KURL&, const TQStringList& = TQStringList ());
    TQString              filteredURI (const TQString&, const TQStringList& = TQStringList ());
//ig     TQPtrListIterator<KURIFilterPlugin> pluginsIterator () const;

%If ( KDE_3_1_0 -  )
    TQStringList          pluginNames () const;
%End


protected:
                         KURIFilter ();
    void                 loadPlugins ();

};  // class KURIFilter

