#ifndef CNETWORKDEVICESMGR_H #define CNETWORKDEVICESMGR_H #include "DeadboltDevice.h" #include "SMSDevice.h" #include "SprinklerDevice.h" #include "SprinklerInterface.h" #include "AbstractNetworkInterface.h" #include "AvReceiverInterface.h" #include "ChaletInterface.h" #include "IspindelInterface.h" #include "LoraModuleInterfaceInterface.h" #include "QList" #include class CVoipMsSMSClient; class CMasterCtrl; class CContactRepository; class CSprinklerMgr; class CAVReceiverDevice; class CChaletLoraDevice; class CIspindelDevice; class CLoraModuleInterface; class CNetworkDevicesMgr: public QObject { Q_OBJECT public: CNetworkDevicesMgr(); virtual ~CNetworkDevicesMgr(); int InitNetworkDevices(); int CreateNewSMSDevice(int Address,CAbstractNetworkCommIF *NetworkIF); int CreateNewSprinklerDevice(int Address, CAbstractNetworkCommIF *NetworkIF); int CreateNewSprinklerInterface(int Address, CAbstractNetworkCommIF *NetworkIF); int CreateNewAvReceiverInterface(int Address, CAbstractNetworkCommIF *NetworkIF); int CreateNewChaletInterface(int Address, CAbstractNetworkCommIF *NetworkIF); int CreateNewIspindleInterface(int Address, CAbstractNetworkCommIF *NetworkIF); int CreateNewLoraInterfaceInterface(int Address, CAbstractNetworkCommIF *NetworkIF); int FindDeviceByPtr(CNetworkDevice *Device); CNetworkDevice *GetDevice(int DeviceID, int Address); QList GetDevices(int DeviceID); CAVReceiverDevice *mAvReceiverDevice; CChaletLoraDevice *mChaletLoraDevice; CIspindelDevice *mIspindelDevice; CVoipMsSMSClient *mVoipMSInterfaceHandle; CContactRepository *mContactRepositoryHandle; CMasterCtrl *mProgramHandle; CSprinklerMgr *mSprinklerMgrHandle; CLoraModuleInterface *mLoraModuleInterfaceDevice; int NewSMSMessagesReceived(QList NewMessages); private: QList mNetworkDevicesList; public slots: void EthernetNetworkDeviceDisconnected(CNetworkDevice*); }; #endif // CNETWORKDEVICESMGR_H