/***************************************************************************
         dcfriendobject.h  -  Friend Object used by Friends list
                             -------------------
    begin                : Thu Jul 3 2008
    copyright            : (C) 2002 by François Gannaz
    copyright            : (C) 2008 by Edward Sheldrake
    email                : ejs1920@yahoo.co.uk
 ***************************************************************************/

#ifndef DCFRIENDOBJECT_H
#define DCFRIENDOBJECT_H

/**
  *@author François Gannaz, Edward Sheldrake
  *
  * This object was moved out of dcuserslist.h to reduce dependencies
  * between various files - DCConfig and DCEvent only need to know about this,
  * not about the DCUsersList.
  */

#include <QString>
#include <QMap>

// for away mode
#include <dclib/core/types.h>

class QTreeWidgetItem;

class DCFriendObject {
public:
	/** construtor */
	DCFriendObject() {
		m_pItem      = 0;
		m_eAwayMode  = euamOFFLINE;
		m_bAutoSec   = false;
		m_bSendImage = false;
		m_bPermSlot  = false;
		m_bIgnore    = false;
	};
	/** destructor */
	~DCFriendObject() {};

	QTreeWidgetItem * m_pItem;

	/** */
	QString m_sName;
	/** */
	QString m_sDescription;
	/** */
	QString m_sHubName;
	/** */
	QString m_sHubHost;
	/** */
	QString m_sImageFileName;
	/** */
	eUserAwayMode m_eAwayMode;
	/** */
	bool m_bAutoSec;
	/** */
	bool m_bSendImage;
	/** If true, grant this user a permanent slot */
	bool m_bPermSlot;
	/** If true, ignore main chat lines from this user */
	bool m_bIgnore;
};

typedef QMap<QString, DCFriendObject*> FriendMap;

#endif // DCFRIENDOBJECT_H
