| Revision 1 (by moose, 2006/03/06 10:00:33) |
Initial Import
|
#ifndef __MADAPP_H__
#define __MADAPP_H__
//#include <qt.h>
#include <qapplication.h>
#include <qmap.h>
#include <qfileinfo.h>
#include "MadPlugin.h"
#include "MadConf.h"
#include "MadMainWindow.h"
class MediaLibrary;
class FileInfo;
class MadDBHandler;
class MadDBConnection;
typedef QMap<QString, MadDBHandler *> MadDBMap;
class MadApp : public QApplication {
Q_OBJECT
public:
MadApp (int &argc, char **argv);
~MadApp ()
{
for (MadPluginInstance *p = instances.first(); p; p = instances.next())
delete p;
delete main_window;
delete conf;
}
MadMainWindow *mainWidget() { return main_window; }
//MadConf *getConf() { return _conf; }
//MediaLibrary *getMediaLibrary() { return media_library; }
bool setMediaLibrary(MediaLibrary *ml)
{
if(media_library)
return false;
media_library = ml;
return true;
}
FileInfo *getFileInfo(const char *); // FileInfo returns tags and whatnot.
bool registerFileInfoHandler();
void rescanPlugins();
bool disablePlugin(const char *name);
bool enablePlugin(const char *name);
bool installPlugin(const char *path);
bool uninstallPlugin(const char *name);
int pluginId(const char *name);
MadDBConnection *getDB(const char *name);
bool registerDBHandler(const char *name, MadDBHandler *hndl);
bool unregisterDBHandler(const char *name);
MadDBMap &getDBMap() { return dbmap; }
MadMainWindow * const &mw;
MadConf * const &conf;
MediaLibrary * const &ml;
private:
MadMainWindow *main_window;
MadConf *_conf;
MediaLibrary *media_library;
MadPluginMap plugins;
MadPluginInstanceList instances;
MadDBMap dbmap;
bool LoadPlugins();
bool LoadPlugin(QFileInfo);
};
extern MadApp *app;
#endif /* __MADAPP_H__ */