#include "NetworkDevicesMgr.h" #include "232NetworkCommIF.h" #include "485NetworkCommIF.h" #include "EthernetNetworkCommIF.h" #include "MasterCtrl.h" CNetworkDevicesMgr::CNetworkDevicesMgr() { mVoipMSInterfaceHandle = 0; mProgramHandle = 0; } CNetworkDevicesMgr::~CNetworkDevicesMgr() { for(int i = 0; i < mNetworkDevicesList.size(); i++) { delete mNetworkDevicesList.at(i); } mNetworkDevicesList.clear(); } int CNetworkDevicesMgr::InitNetworkDevices() { C232NetworkCommIF *NetworkInterface = new C232NetworkCommIF(); CDeadboltDevice *DeadboltDevice = new CDeadboltDevice(1,(CAbstractNetworkCommIF*)NetworkInterface); mNetworkDevicesList.append(DeadboltDevice); return RET_OK; } int CNetworkDevicesMgr::CreateNewSMSDevice(int Address, CAbstractNetworkCommIF *NetworkIF) { if(mVoipMSInterfaceHandle == 0) { return RET_ERROR; } CSMSDevice *SMSDevice = new CSMSDevice(Address,NetworkIF,mVoipMSInterfaceHandle); mNetworkDevicesList.append((CNetworkDevice*)SMSDevice); return RET_OK; } void CNetworkDevicesMgr::EthernetNetworkDeviceDisconnected(CNetworkDevice *Device) { qDebug("Device disconnected. ID: %d, Address: %d",Device->GetDeviceID(),Device->GetDeviceAddress()); int index = FindDeviceByPtr(Device); if(index != -1) { delete mNetworkDevicesList.at(index); mNetworkDevicesList.removeAt(index); } } int CNetworkDevicesMgr::FindDeviceByPtr(CNetworkDevice *Device) { for(int i = 0; i < mNetworkDevicesList.size(); i++) { if(mNetworkDevicesList.at(i) == Device) { return i; } } return -1; } CNetworkDevice* CNetworkDevicesMgr::GetDevice(int DeviceID, int Address) { for(int i = 0; i < mNetworkDevicesList.size(); i++) { if(mNetworkDevicesList.at(i)->GetDeviceID() == DeviceID && mNetworkDevicesList.at(i)->GetDeviceAddress() == Address) { return mNetworkDevicesList.at(i); } } return 0; } int CNetworkDevicesMgr::NewSMSMessagesReceived(QList NewMessages) { for(int i = 0; i < mNetworkDevicesList.size(); i++) { if(mNetworkDevicesList.at(i)->GetDeviceID() == ID_SMS_CLIENT) { CSMSDevice *SMSDevice = (CSMSDevice*)mNetworkDevicesList.at(i); SMSDevice->SendNewSMSReceived(NewMessages); } } }