#include "MasterCtrl.h" #include // #include //#include CMasterCtrl::CMasterCtrl() { qDebug("Creation..."); mChaletLoraModuleInterface = 0; mChaletLoraNetworkCommInterface = 0; // mDeadBoltDevice = new CDeadboltDevice(1); mAVReceiverDevice = new CAVReceiverDevice(); mVoipMsSMSClient = new CVoipMsSMSClient; mSystemTrayManager = new CSystemTrayManager; mSystemTrayManager->mProgramHandle = this; mSettingsWindow = new CSettingsWindow(); mSettingsWindow->mProgramHandle = this; mSettingsManager.LoadSettings(&mMasterCtrlSettings); if(mMasterCtrlSettings.mChaletUseLoraIF == true) { mChaletLoraModuleInterface = new CLoraModuleInterface(); //JFM LoraInterface Dev mChaletLoraDevice = new CChaletLoraDevice(1,mChaletLoraModuleInterface); //JFM LoraInterface Dev } else { mChaletLoraNetworkCommInterface = new CLoraNetworkCommIF();//JFM LoraInterface Dev mChaletLoraDevice = new CChaletLoraDevice(1,mChaletLoraNetworkCommInterface);//JFM LoraInterface Dev } // mChaletLoraInterface = new CChaletLoraInterface(mRooftopTowerLoraDevice); mIspindelDevice = new CIspindelDevice; mEthernetNetworkServer = new CEthernetNetworkServer; mNetworkDevicesManager = new CNetworkDevicesMgr; mContactsRepository = new CContactRepository; mSprinklerManager = new CSprinklerMgr; // mMasterCtrlSettings = new CSettings; } CMasterCtrl::~CMasterCtrl() { delete mAVReceiverDevice; delete mVoipMsSMSClient; delete mSystemTrayManager; delete mSettingsWindow; delete mNetworkDevicesManager; delete mEthernetNetworkServer; delete mContactsRepository; delete mSprinklerManager; if(mChaletLoraNetworkCommInterface != 0) delete mChaletLoraNetworkCommInterface; //JFM LoraInterface Dev if(mChaletLoraModuleInterface != 0) delete mChaletLoraModuleInterface; delete mChaletLoraDevice; delete mIspindelDevice; // delete mMasterCtrlSettings; } void CMasterCtrl::Start() { qDebug("Started!"); // QByteArray FrameData; // QBuffer FrameBuffer(&FrameData); // QDataStream *FrameDataStrm = new QDataStream(&FrameData,QIODevice::ReadWrite); // QString DID = "Salut"; // *FrameDataStrm << DID; // FrameBuffer.seek(0); mContactsRepository->LoadContacts(); mNetworkDevicesManager->mVoipMSInterfaceHandle = mVoipMsSMSClient; mNetworkDevicesManager->mContactRepositoryHandle = mContactsRepository; mNetworkDevicesManager->mProgramHandle = this; mNetworkDevicesManager->mSprinklerMgrHandle = mSprinklerManager; mNetworkDevicesManager->mAvReceiverDevice = mAVReceiverDevice; mNetworkDevicesManager->mChaletLoraDevice = mChaletLoraDevice; mNetworkDevicesManager->mIspindelDevice = mIspindelDevice; mNetworkDevicesManager->mLoraModuleInterfaceDevice = mChaletLoraModuleInterface; mEthernetNetworkServer->mDevicesMgrHandle = mNetworkDevicesManager; mEthernetNetworkServer->mProgramHandle = this; mVoipMsSMSClient->mProgramHandle = this; mSprinklerManager->mProgramHandle = this; connect(mVoipMsSMSClient,SIGNAL(DIDSFetched(QStringList)),mSettingsWindow,SLOT(DIDsListFetched(QStringList))); mSettingsWindow->SetSettingsData(&mMasterCtrlSettings); mVoipMsSMSClient->SetVOIPMsSettings(&mMasterCtrlSettings.mVoipMSSettings); mVoipMsSMSClient->DownloadSMSFromServer(); mNetworkDevicesManager->InitNetworkDevices(); mEthernetNetworkServer->StartServer(2182); mAVReceiverDevice->Start(); //JFM LoraInterface Dev if(mMasterCtrlSettings.mChaletUseLoraIF) { mChaletLoraModuleInterface->SetLoraModuleInterfaceParameters(mMasterCtrlSettings.mChaletComPort,QSerialPort::Baud9600); mChaletLoraModuleInterface->SetLoraDestinationAddress(mMasterCtrlSettings.mChaletLoraAddress, 65 /*mMasterCtrlSettings.mChaletLoraChannel*/); } else { mChaletLoraNetworkCommInterface->mMyLoraAddress = 5; mChaletLoraNetworkCommInterface->mMyLoraChannel = 4; mChaletLoraNetworkCommInterface->SetLoraDestinationAddress(mMasterCtrlSettings.mChaletLoraAddress,mMasterCtrlSettings.mChaletLoraChannel); mChaletLoraNetworkCommInterface->SetLoraSerialPortSettings(mMasterCtrlSettings.mChaletComPort,QSerialPort::Baud9600); } //JFM LoraInterface Dev // mChaletLoraNetworkCommInterface->SetLoraSerialPortSettings("COM5",QSerialPort::Baud9600); mChaletLoraDevice->Start(); // mAppWidget.show(); } unsigned int CMasterCtrl::QuitApplicationRequest() { // QApplication::exit(69); QCoreApplication::quit(); return RET_OK; } unsigned int CMasterCtrl::ShowSettingsWindowRequest() { mSettingsWindow->UpdateContacts(); mSettingsWindow->show(); return RET_OK; } unsigned int CMasterCtrl::FetchDIDsRequest(QString Username, QString Password) { mVoipMsSMSClient->GetDidFromUserAccount(Username,Password); return RET_OK; } unsigned int CMasterCtrl::SaveSettings(CSettings *Settings) { CSettings toto; toto = *Settings; mMasterCtrlSettings = toto; mSettingsManager.SaveSettings(&mMasterCtrlSettings); return RET_OK; } unsigned int CMasterCtrl::SettingsWindowClosed() { mVoipMsSMSClient->SetVOIPMsSettings(&mMasterCtrlSettings.mVoipMSSettings); mVoipMsSMSClient->DownloadSMSFromServer(); if(mChaletLoraModuleInterface != 0) { mChaletLoraModuleInterface->SetLoraDestinationAddress(mMasterCtrlSettings.mChaletLoraAddress, 65 /*mMasterCtrlSettings.mChaletLoraChannel*/); //JFM LoraInterface Dev mChaletLoraModuleInterface->SetLoraModuleInterfaceParameters(mMasterCtrlSettings.mChaletComPort,QSerialPort::Baud9600); } if(mChaletLoraNetworkCommInterface != 0) { mChaletLoraNetworkCommInterface->SetLoraDestinationAddress(mMasterCtrlSettings.mChaletLoraAddress,mMasterCtrlSettings.mChaletLoraChannel); //JFM LoraInterface Dev mChaletLoraNetworkCommInterface->SetLoraSerialPortSettings(mMasterCtrlSettings.mChaletComPort,QSerialPort::Baud9600); //JFM LoraInterface Dev } return RET_OK; } int CMasterCtrl::NewSMSMessagesArrived(QList NewMessages) { mNetworkDevicesManager->NewSMSMessagesReceived(NewMessages); return RET_OK; }