XNSim/XNMonitorServer/DataMonitorFactory.cpp

24 lines
762 B
C++

#include "DataMonitorFactory.h"
#include "PluginManager.h"
DataMonitorBasePtr DataMonitorFactory::GetInstance(const std::string &interfaceName)
{
return PluginManager::Instance().GetMonitor(interfaceName);
}
void DataMonitorFactory::ReleaseInstance(const std::string &interfaceName)
{
// 插件管理器会自动管理实例生命周期
// 这里可以添加额外的清理逻辑
}
bool DataMonitorFactory::HasInterface(const std::string &interfaceName)
{
auto interfaces = PluginManager::Instance().GetSupportedInterfaces();
return std::find(interfaces.begin(), interfaces.end(), interfaceName) != interfaces.end();
}
std::vector<std::string> DataMonitorFactory::GetRegisteredInterfaces()
{
return PluginManager::Instance().GetSupportedInterfaces();
}