defuze.me
Client
|
00001 /************************************************************************** 00002 ** defuze.me Epitech Innovative Project 00003 ** 00004 ** Copyright 2010-2011 00005 ** Athena Calmettes - Jocelyn De La Rosa - Francois Gaillard 00006 ** Adrien Jarthon - Alexandre Moore - Luc Peres - Arnaud Sellier 00007 ** 00008 ** All rights reserved. 00009 **************************************************************************/ 00010 00011 class Plugin; 00012 00013 #ifndef PLUGIN_HPP 00014 #define PLUGIN_HPP 00015 00016 #include <QObject> 00017 #include "cores.hpp" 00018 #include "plugins.hpp" 00019 #include "guicore.hpp" 00020 #include "dbcore.hpp" 00021 #include "networkcore.hpp" 00022 #include "audiocore.hpp" 00023 00032 class Plugin 00033 { 00034 friend class Plugins; 00035 public: 00036 virtual ~Plugin(); 00039 virtual void init()=0; 00042 virtual void aboutToQuit(); 00043 00044 protected: 00046 explicit Plugin(); 00047 00048 Cores *cores; 00049 Plugins *plugins; 00050 00051 private: 00055 void setReferences(Cores &c, Plugins &p); 00056 }; 00057 00058 #endif // PLUGIN_HPP