defuze.me  Client
cores.hpp
00001 /**************************************************************************
00002 ** defuze.me Epitech Innovative Project
00003 **
00004 ** Copyright 2010
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 Cores;
00012 
00013 #ifndef CORES_HPP
00014 #define CORES_HPP
00015 
00016 #include <QtCore/QStringList>
00017 #include <QObject>
00018 
00019 namespace Params {
00020     class ParamsCore;
00021 }
00022 
00023 namespace Gui {
00024     class GuiCore;
00025 }
00026 
00027 namespace DB {
00028     class DBCore;
00029 }
00030 
00031 namespace Network {
00032     class NetworkCore;
00033 }
00034 
00035 
00036 namespace Audio {
00037     class AudioCore;
00038 }
00039 
00040 
00045 class Cores : public QObject
00046 {
00047     Q_OBJECT
00048 public:
00049     Cores(QStringList &arguments);
00050     ~Cores();
00051     void                    init();                                         
00052     Gui::GuiCore*           gui();
00053     DB::DBCore*             db();
00054     Audio::AudioCore*       audio();
00055     Network::NetworkCore*   net();
00056     Params::ParamsCore*     params();
00057 public slots:
00058     void                    aboutToQuit();                                  
00059 private:
00060     Params::ParamsCore      *_params;
00061     Audio::AudioCore        *_audio;
00062     Gui::GuiCore            *_gui;
00063     DB::DBCore              *_db;
00064     Network::NetworkCore    *_net;
00065 };
00066 
00067 #endif // CORES_HPP