#ifndef SYSTEMGUI_H
#define SYSTEMGUI_H

#include <QObject>
#include "GuiMain.h"
#include "SMSClient.h"
#include "ProgramSettings.h"
#include "SystemTrayManager.h"
#include "Sprinkler.h"
#include "AvReceiverGui.h"
#include "AvReceiver.h"
#include "CChalet.h"
#include "PICUploader.h"
#include "Ispindel.h"
#include "LoraModuleInterface.h"
#include "TrayVolumeCtrl.h"


class CSystemGui : public QObject
{
    Q_OBJECT
public:
    explicit CSystemGui(QObject *parent = 0);
    ~CSystemGui();

    void Start();

    void ShowSettingsWindowRequest();
    void QuitApplicationRequest();
    int RespawnMainWindowRequest();
    int TrayIconLeftClick();

private:
    CGuiMain *mGui;
    CSMSClient *mSMSClient;
    CProgramSettings *mProgramSettings;
    CSettings mSettings;
    CSystemTrayManager *mSysTrayMgr;
    CSprinkler *mSprinklers;
    CAvReceiver *mAvReceiver;
    CChalet *mChalet;
    CPICUploader *mPICUploader;
    CIspindel *mIspindel;
    CLoraModuleInterface *mLoraModuleIF;
    CTrayVolumeCtrl *mTrayVolumeCtrl;


signals:

public slots:
};

#endif // SYSTEMGUI_H
