/*********************************************************************************
* C++ Interface: api.h
* Description:
*                              
* Begin : tis jan 15 2003
* Author : Björn Sahlström <kbjorn@users.sourceforge.net> (C) 2003
* Copyright : See COPYING file that comes with this distribution
**********************************************************************************/

#ifndef API_H
#define API_H

//////////////////////////////////////////////////////////////////////
// Qt specific include files
#include <qobject.h>
//////////////////////////////////////////////////////////////////////
// KDE specific include files
//////////////////////////////////////////////////////////////////////
// System specific include files
//////////////////////////////////////////////////////////////////////
// Application specific include files
#include "kbearapi.h"

namespace KBear {
class KBearMainWindowIface;
class KBearCore;
class ConnectionManager;
class TransferManager;
class KBearPartManagerInterface;
class PluginManagerInterface;
}
class KBearPartManager;
/**
 * 
 * Björn Sahlström
 **/
class API : public KBear::KBearAPI {
	Q_OBJECT
public:
	/** */
	static API* getInstance();
	/** */
	~API();
	/** */
	virtual KBear::KBearCore* core();
	/** */
	virtual KBear::KBearMainWindowInterface* mainWindow();
	/** */
	virtual KBear::ConnectionManager* connectionManager();
	/** */
	virtual KBear::TransferManager* transferManager();
	/** */
	virtual KBear::KBearPartManagerInterface* partManager();
	/** */
	virtual KBear::KBearPluginManagerInterface* pluginManager();
private:
		/** */
		API();
private:
	static API* s_instance;

};

#endif
