Masterctrl/Sources/NetworkDevicesMgr.h

64 lines
1.8 KiB
C++

#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 "QList"
#include <QObject>
class CVoipMsSMSClient;
class CMasterCtrl;
class CContactRepository;
class CSprinklerMgr;
class CAVReceiverDevice;
class CChaletLoraDevice;
class CIspindelDevice;
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 FindDeviceByPtr(CNetworkDevice *Device);
CNetworkDevice *GetDevice(int DeviceID, int Address);
QList<CNetworkDevice*> GetDevices(int DeviceID);
CAVReceiverDevice *mAvReceiverDevice;
CChaletLoraDevice *mChaletLoraDevice;
CIspindelDevice *mIspindelDevice;
CVoipMsSMSClient *mVoipMSInterfaceHandle;
CContactRepository *mContactRepositoryHandle;
CMasterCtrl *mProgramHandle;
CSprinklerMgr *mSprinklerMgrHandle;
int NewSMSMessagesReceived(QList<CSMSMessage> NewMessages);
private:
QList<CNetworkDevice*> mNetworkDevicesList;
public slots:
void EthernetNetworkDeviceDisconnected(CNetworkDevice*);
};
#endif // CNETWORKDEVICESMGR_H