00001 #ifndef __MEDCENTER_H__
00002 #define __MEDCENTER_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <QWidget>
00029 #include <QTimer>
00030 #include <QMap>
00031
00032 #include "Network/NetworkManager.h"
00033 #include "PatientContainer.h"
00034 #include "Types/User.h"
00035
00036 class Logger;
00037 class ConnectionQMLWidget;
00038 class MainScreenQMLWidget;
00039 class ModuleInterface;
00040
00041 class MedCenter : public QWidget
00042 {
00043 Q_OBJECT
00044
00045 static const int NETWORK_REFRESH_TIME = 1000;
00047 private:
00048
00049 PatientContainer m_patients;
00050 Patient* m_TMPPpatient;
00052 NetworkManager* m_pNetworkManager;
00053 Logger* m_pNetworkLogger;
00054 QTimer* m_pNetworkTimer;
00056 User m_connectedUser;
00058 ConnectionQMLWidget* m_pConnectionWidget;
00059 MainScreenQMLWidget* m_pMainScreenWidget;
00061 QMap<QString, ModuleInterface*> m_pluginsList;
00063 void setScreen(QWidget* pScreen);
00064 bool loadPlugin(QObject* pPlugin);
00065
00066 protected:
00067
00068 void resizeEvent(QResizeEvent* pResizeEvent);
00069 void closeEvent(QCloseEvent *pCloseEvent);
00070
00071 public:
00072 MedCenter(QWidget* parent=0);
00073 ~MedCenter();
00074
00075 void clearPlugins();
00076 bool loadPlugins();
00077
00078 Q_SIGNAL void pluginsChanged();
00079
00080 Q_SLOT void sendAllData(NClient* pClient);
00081 Q_SLOT void processNetworkData();
00082
00083 Q_SLOT void processUserConnection(QString userName, QString password);
00084 Q_SLOT void disconnectUser();
00085 Q_SLOT void requestPatient(QString patientName);
00086
00087 Q_SLOT void userNew(QString name, QString password, QString category);
00088 Q_SLOT void deleteUser(QString userName);
00089 Q_SLOT void userNameChanged(QString oldName, QString newName);
00090 Q_SLOT void userCategoryChanged(QString name, QString newCategory);
00091
00092 Q_SLOT void updateMachinesList();
00093
00094 Q_SLOT void sendMessage(QString newMessage);
00095 };
00096
00118 #endif