#include "stdafx.h" #include "LogicDeviceManager.h" //#include "DevTree.h" using namespace DIOS::Dev::Detail::MachineryECOM; LogicDeviceManager *LogicDeviceManager::m_instance = nullptr; LogicDeviceManager::LogicDeviceManager() { } LogicDeviceManager::~LogicDeviceManager() { } LogicDeviceManager *LogicDeviceManager::Instance() { if (m_instance == nullptr) { m_instance = new LogicDeviceManager(); } return m_instance; } IOLogicUnit*LogicDeviceManager::Resove(const std::string &deviceTypeName) { if (m_logicUnits.find(deviceTypeName) == m_logicUnits.end()) { return nullptr; } return m_logicUnits[deviceTypeName]; } bool LogicDeviceManager::LoadLogicDevice(const std::string& deviceTypeName, IOLogicUnit* logicUint) { if (logicUint != nullptr) { /*logicUint->SetDrvDPC(driver); if (tree) { IOLogicUnit*pret = (IOLogicUnit*)logicUint; tree->Add((PVOID)pret, TYPE_DEVICE); }*/ m_logicUnits[deviceTypeName] = logicUint; } return logicUint != nullptr; }