#include "stdafx.h" #include "ServoDriveFactory.h" #include "ServoDriveBS.h" #include "ServoDriveJRui.h" using namespace DIOS::Dev::Detail::MachineryECOM; ServoDriveFactory *ServoDriveFactory::m_instance = nullptr; ServoDriveFactory::ServoDriveFactory() { } ServoDriveFactory::~ServoDriveFactory() { } ServoDriveFactory *ServoDriveFactory::Instance() { if (m_instance == nullptr) { m_instance = new ServoDriveFactory(); } return m_instance; } IServoDrive *ServoDriveFactory::Create(const std::string &typeName) { IServoDrive *servo = nullptr; if (typeName == SERVO_DRIVE_BS) { servo = new ServoDriveBS(); m_servos.push_back(servo); } else if (typeName == SERVO_DRIVE_JR) { servo = new ServoDriveJRui(); m_servos.push_back(servo); } return servo; }