1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #include "stdafx.h"
- #include "DeviceHandlerManager.h"
- #include "IDeviceHandler.h"
- #include "IDeviceHandlerFactory.h"
- using namespace DIOS::Dev::Detail::MachineryECOM;
- DeviceHandlerManager *DeviceHandlerManager::m_instance = nullptr;
- DeviceHandlerManager::DeviceHandlerManager()
- {
- }
- DeviceHandlerManager::~DeviceHandlerManager()
- {
- }
- DeviceHandlerManager *DeviceHandlerManager::Instance()
- {
- if (m_instance == nullptr)
- {
- m_instance = new DeviceHandlerManager();
- }
- return m_instance;
- }
- void DeviceHandlerManager::Initialize(IDeviceHandlerFactory *factory)
- {
- auto collimatorHandler = factory->CreateDeviceHandler(DEVICE_HANDLER_TYPE_COLLIMATOR);
- collimatorHandler->Initialize(DEVICE_HANDLER_COLLIMATOR);
- Register(collimatorHandler);
- }
- void DeviceHandlerManager::Register(IDeviceHandler *handler)
- {
- if (handler && handler->Name() != "")
- {
- m_deviceHandlers[handler->Name()] = handler;
- }
- }
- IDeviceHandler *DeviceHandlerManager::Resove(const std::string &name)
- {
- if (m_deviceHandlers.find(name) == m_deviceHandlers.end())
- {
- return nullptr;
- }
- return m_deviceHandlers[name];
- }
|