//
//     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 KFileItem
{
%TypeHeaderCode
#include <tdefileitem.h>
%End


public:

    enum 
    {
        Unknown
    };

                         KFileItem (const TDEIO::UDSEntry&, const KURL&, bool = 0, bool = 0);
                         KFileItem (mode_t, mode_t, const KURL&, bool = 0);
                         KFileItem (const KURL&, const TQString&, mode_t);
                         KFileItem (const KFileItem&);
    void                 refresh ();
    void                 refreshMimeType ();
    const KURL&          url () const;
    void                 setURL (const KURL&);

%If ( KDE_3_2_0 -  )
    void                 setName (const TQString&);
%End

    mode_t               permissions () const;
    TQString              permissionsString () const;

%If ( KDE_3_5_0 -  )
    bool                 hasExtendedACL () const;
    KACL                 ACL () const;
    KACL                 defaultACL () const;
%End

    mode_t               mode () const;
    TQString              user () const;
    TQString              group () const;
    bool                 isLink () const;
    bool                 isDir () const;
    bool                 isFile () const;
    bool                 isReadable () const;

%If ( KDE_3_4_0 -  )
    bool                 isWritable () const;
%End


%If ( KDE_3_3_0 -  )
    bool                 isHidden () const;
%End

    TQString              linkDest () const;

%If ( KDE_3_4_0 -  )
    TQString              localPath () const;
%End

    TDEIO::filesize_t      size () const;

%If ( KDE_3_5_0 -  )
    TDEIO::filesize_t      size (bool& /Out/) const /PyName=sizeAndExists/;
%End

    time_t               time (uint) const;

%If ( KDE_3_5_0 -  )
    time_t               time (uint, bool& /Out/) const /PyName=timeAndHasTime/;
%End

    TQString              timeString (uint = TDEIO ::UDS_MODIFICATION_TIME ) const;
    bool                 isLocalFile () const;
    const TQString&       text () const;
    const TQString&       name (bool = 0) const;
    TQString              mimetype () const;
    KMimeType::Ptr       determineMimeType ();
    KMimeType::Ptr       mimeTypePtr ();
    bool                 isMimeTypeKnown () const;
    TQString              mimeComment ();
    TQString              iconName ();
    TQPixmap              pixmap (int, int = 0) const;
    int                  overlays () const;
    TQString              getStatusBarInfo ();
    TQString              getToolTipText (int = 6);
    bool                 acceptsDrops ();
    void                 run ();
    const TDEIO::UDSEntry& entry () const;
    bool                 isMarked () const;
    void                 mark ();
    void                 unmark ();
    bool                 cmp (const KFileItem&);
//ig     virtual void         setExtraData (const void*, void*);
//ig     virtual const void*  extraData (const void*) const;
//ig     virtual void         removeExtraData (const void*);
    void                 setMetaInfo (const KFileMetaInfo&);

%If ( KDE_3_5_0 -  )
    void                 setFileMode (mode_t);
    void                 setMimeType (const TQString&);
%End

    const KFileMetaInfo& metaInfo (bool = 1, int = KFileMetaInfo ::Fastest ) const;
    void                 assign (const KFileItem&);

%If ( KDE_3_4_3 -  )
    void                 setUDSEntry (const TDEIO::UDSEntry&, const KURL&, bool = 0, bool = 0);
%End


%If ( KDE_3_4_0 -  )
    KURL                 mostLocalURL (bool&) const;
%End


protected:
    void                 init (bool);

%If ( KDE_3_4_3 -  )
    void                 readUDSEntry (bool);
%End

    TQString              parsePermissions (mode_t) const;

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

};  // class KFileItem

typedef TQPtrList<KFileItem> KFileItemList;

%If ( KDE_3_1_4 -  )
//ig typedef TQPtrListIterator<KFileItem> KFileItemListIterator;

%If ( KDE_3_2_0 -  )
//igx TQDataStream&         operator << (TQDataStream&, const KFileItem&);
//igx TQDataStream&         operator >> (TQDataStream&, KFileItem&);
%End

%End


%If (  - KDE_3_1_4 )
//ig typedef TQListIterator<KFileItem> KFileItemListIterator;
%End
