/***************************************************************************
                            kde_KFileMetaInfoItem.h -  description
                             -------------------
    begin                : Sun Nov 24 16:54:36 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Sun Nov 24 16:54:36 2002, using kalyptus 0.9.
 ***************************************************************************/

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

#ifndef KDE_KFILEMETAINFOITEM
#define KDE_KFILEMETAINFOITEM

#include <qtc/qtc_types.h>

#include <kdec/kde_types.h>

/**
*
 This is one item of the meta information about a file (see
 @ref KFileMetaInfo).
 
 @short *
 This is one item of the meta information about a file (see
 @ref KFileMetaInfo).
*/

/** *

 You usually don't need to use this constructor yourself. Let
 KFileMetaInfo do it for you.

*/
//kde_KFileMetaInfoItem * kde_new_KFileMetaInfoItem(KFileMimeTypeInfo::ItemInfo* mti, qt_QString * key, qt_QVariant * value);

/** *
 Copy onstructor

*/
//kde_KFileMetaInfoItem * kde_new_KFileMetaInfoItem1(KFileMetaInfoItem item);

/** *
 Default constructor. This creates an "invalid" item
     
*/
kde_KFileMetaInfoItem * kde_new_KFileMetaInfoItem2();
void kde_del_KFileMetaInfoItem( kde_KFileMetaInfoItem* p );

/** *

*/
qt_QString * kde_KFileMetaInfoItem_key(kde_KFileMetaInfoItem* instPointer);

/** *

*/
qt_QString * kde_KFileMetaInfoItem_translatedKey(kde_KFileMetaInfoItem* instPointer);

/** *

*/
qt_QVariant * kde_KFileMetaInfoItem_value(kde_KFileMetaInfoItem* instPointer);

/** *

*/
qt_QString * kde_KFileMetaInfoItem_string(kde_KFileMetaInfoItem* instPointer,int mangle);

/** *
 changes the value of the item
     
*/
int kde_KFileMetaInfoItem_setValue(kde_KFileMetaInfoItem* instPointer,qt_QVariant * value);

/** *
 convenience method. It does the same as value()->type()

*/
int kde_KFileMetaInfoItem_type(kde_KFileMetaInfoItem* instPointer);

/** *
 You can query if the application can edit the item and write it back to
 the file with this method. Note that this doesn't ensure that you have
 write access to the file and that enough space is available.

*/
int kde_KFileMetaInfoItem_isEditable(kde_KFileMetaInfoItem* instPointer);

/** *
 If you remove an item, it is only marked for removal for the file. On
 the next @ref KFileMetaInfo::applyChanges() , it will be removed from
 the file. With this method, you can ask if the item is marked for
 removal.

*/
int kde_KFileMetaInfoItem_isRemoved(kde_KFileMetaInfoItem* instPointer);

/** *
 If you change an item, it is marked as "dirty". On the next
 @ref KFileMetaInfo::applyChanges() , the change will be written to the
 file. With this method, you can ask if this item is dirty.

*/
int kde_KFileMetaInfoItem_isModified(kde_KFileMetaInfoItem* instPointer);

/** *
 This method returns a translated prefix to be displayed before the
 value. Think e.g. of the $ in $30

*/
qt_QString * kde_KFileMetaInfoItem_prefix(kde_KFileMetaInfoItem* instPointer);

/** *
 This method returns a translated suffix to be displayed after the
 value. Think of the kbps in 128kbps     *

*/
qt_QString * kde_KFileMetaInfoItem_suffix(kde_KFileMetaInfoItem* instPointer);

/** *

*/
unsigned int kde_KFileMetaInfoItem_hint(kde_KFileMetaInfoItem* instPointer);

/** *

*/
unsigned int kde_KFileMetaInfoItem_unit(kde_KFileMetaInfoItem* instPointer);

/** *

*/
unsigned int kde_KFileMetaInfoItem_attributes(kde_KFileMetaInfoItem* instPointer);

/** *

*/
int kde_KFileMetaInfoItem_isValid(kde_KFileMetaInfoItem* instPointer);
void kde_KFileMetaInfoItem_setAdded(kde_KFileMetaInfoItem* instPointer);
void kde_KFileMetaInfoItem_ref(kde_KFileMetaInfoItem* instPointer);
void kde_KFileMetaInfoItem_deref(kde_KFileMetaInfoItem* instPointer);

#endif
