当前位置: 首页>>代码示例>>C++>>正文


C++ PluginManager::getProcessorInfo方法代码示例

本文整理汇总了C++中PluginManager::getProcessorInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ PluginManager::getProcessorInfo方法的具体用法?C++ PluginManager::getProcessorInfo怎么用?C++ PluginManager::getProcessorInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PluginManager的用法示例。


在下文中一共展示了PluginManager::getProcessorInfo方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: createProcessorFromPluginInfo

	GenericProcessor* createProcessorFromPluginInfo(Plugin::PluginType type, int index, String procName, String libName, int libVersion, bool source, bool sink)
	{
		PluginManager* pm = AccessClass::getPluginManager();
		GenericProcessor* proc = nullptr;
		if (index > -1)
		{
			if (type == Plugin::NOT_A_PLUGIN_TYPE)
			{
				return createBuiltInProcessor(index);
			}
			else if (type == Plugin::PLUGIN_TYPE_PROCESSOR)
			{
				for (int i = 0; i < pm->getNumProcessors(); i++)
				{
					Plugin::ProcessorInfo info = pm->getProcessorInfo(i);
					if (procName.equalsIgnoreCase(info.name))
					{
						int libIndex = pm->getLibraryIndexFromPlugin(Plugin::PLUGIN_TYPE_PROCESSOR, i);
						if (libName.equalsIgnoreCase(pm->getLibraryName(libIndex)) && libVersion == pm->getLibraryVersion(libIndex))
						{
							proc = info.creator();
							proc->setPluginData(Plugin::PLUGIN_TYPE_PROCESSOR, i);
							return proc;
						}
					}
				}
			}
			else if (type == Plugin::PLUGIN_TYPE_DATA_THREAD)
			{
				for (int i = 0; i < pm->getNumDataThreads(); i++)
				{
					Plugin::DataThreadInfo info = pm->getDataThreadInfo(i);
					if (procName.equalsIgnoreCase(info.name))
					{
						int libIndex = pm->getLibraryIndexFromPlugin(Plugin::PLUGIN_TYPE_DATA_THREAD, i);
						if (libName.equalsIgnoreCase(pm->getLibraryName(libIndex)) && libVersion == pm->getLibraryVersion(libIndex))
						{
							proc = new SourceNode(info.name, info.creator);
							proc->setPluginData(Plugin::PLUGIN_TYPE_DATA_THREAD, i);
							return proc;
						}
					}
				}
			}
		}		
		proc = new PlaceholderProcessor(procName, libName, libVersion, source, sink);
		proc->setPluginData(Plugin::NOT_A_PLUGIN_TYPE, -1);
		return proc;
	}
开发者ID:balajisriram,项目名称:plugin-GUI,代码行数:49,代码来源:ProcessorManager.cpp

示例2: setPluginData

void PluginClass::setPluginData(Plugin::PluginType type, int index)
{
	PluginManager* pm = AccessClass::getPluginManager();
	String name;
	pluginType = type;
	pluginIndex = index;
	switch (type)
	{
	case Plugin::ProcessorPlugin:
	{
		Plugin::ProcessorInfo i = pm->getProcessorInfo(index);
		name = i.name;
	}
	break;
	case Plugin::RecordEnginePlugin:
	{
		Plugin::RecordEngineInfo i = pm->getRecordEngineInfo(index);
		name = i.name;
	}
	break;
	case Plugin::DatathreadPlugin:
	{
		Plugin::DataThreadInfo i = pm->getDataThreadInfo(index);
		name = i.name;
	}
	break;
	case Plugin::FileSourcePlugin:
	{
		Plugin::FileSourceInfo i = pm->getFileSourceInfo(index);
		name = i.name;
	}
	break;
	case Plugin::NotAPlugin:
	{
		String pName;
		int pType;
		ProcessorManager::getProcessorNameAndType(BuiltInProcessor, index, pName, pType);
		name = pName;
	}
	default:
		return;
	}
	pluginName = name;
	libName = pm->getLibraryName(pm->getLibraryIndexFromPlugin(type, index));
	libVersion = pm->getLibraryVersion(pm->getLibraryIndexFromPlugin(type, index));
}
开发者ID:410pfeliciano,项目名称:plugin-GUI,代码行数:46,代码来源:PluginClass.cpp


注:本文中的PluginManager::getProcessorInfo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。