/***************************************************************************
                          dcpluginmanager.h  -  description
                             -------------------
    begin                : Don Dez 5 2002
    copyright            : (C) 2002 by Mathias Küster
    email                : mathen@users.berlios.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program 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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef DCPLUGINMANAGER_H
#define DCPLUGINMANAGER_H

#include <dclib/cpluginmanager.h>

/**
 *@author Mathias Küster
 */

class CPlugin;
class CPluginObject;

class DCPluginManager : public CPluginManager {
public:
    /** construtor */
    DCPluginManager();
    /** destructor */
    virtual ~DCPluginManager();

    /** */
    virtual bool Init(CPluginObject * plugin);

    /** */
    static void SetInstance(DCPluginManager*);
    static DCPluginManager *Instance();

private:

    static DCPluginManager *pPluginManager;
};

/** */
inline void DCPluginManager::SetInstance(DCPluginManager *mgr) {
    pPluginManager = mgr;
}

/** */
inline DCPluginManager *DCPluginManager::Instance() {
    return pPluginManager;
}

#endif
