public void TestGetPluginObject() { IPluginMgr pluginMgr = GetPluginMgr(); IPlugin_Market plugin_Market = pluginMgr.GetPluginObject <IPlugin_Market>("MOCK.MARKET"); AssertMockMarketObject(plugin_Market); IPlugin_HistoryData plugin_HistoryData = pluginMgr.GetPluginObject <IPlugin_HistoryData>("MOCK.HISTORYDATA"); AssertMockHistoryDataObject(plugin_HistoryData); }
public MarketPluginMgr(MarketType marketType) { IPluginMgr pluginMgr = PluginMgrFactory.DefaultPluginMgr; List <PluginInfo> plugins = pluginMgr.GetPlugins(marketType, typeof(IPlugin_Market)); marketDataConnections = new List <ConnectionInfo>(); marketTraderConnections = new List <ConnectionInfo>(); for (int i = 0; i < plugins.Count; i++) { PluginInfo pluginInfo = plugins[i]; IPlugin_Market plugin_Market = pluginMgr.GetPluginObject <IPlugin_Market>(pluginInfo); AddMarketDataConnections(pluginInfo.PluginID, plugin_Market, plugin_Market.MarketData.GetAllConnections()); AddMarketTraderConnections(pluginInfo.PluginID, plugin_Market, plugin_Market.MarketTrader.GetAllConnections()); } }
private IPlugin_DataUpdater GetDataUpdater(DataUpdaterConfigInfo updaterInfo) { if (updaterInfo.pluginName != null && updaterInfo.pluginName != "") { IPluginMgr pluginMgr = PluginMgrFactory.DefaultPluginMgr; PluginInfo pluginInfo = pluginMgr.GetPlugin(updaterInfo.PluginName); if (pluginInfo != null) { IPlugin_DataUpdater dataUpdater = pluginMgr.GetPluginObject <IPlugin_DataUpdater>(pluginInfo); foreach (string key in dic_Arguments.Keys) { dataUpdater.SetValue(key, dic_Arguments[key]); } return(dataUpdater); } LogHelper.Warn(GetType(), "数据更新配置:‘" + updaterInfo.name + "’配置的更新插件" + updaterInfo.pluginName + "找不到对应插件"); } string clsName = updaterInfo.ClassName; if (clsName != null && clsName != "") { Type type = Type.GetType(clsName); if (type == null) { LogHelper.Warn(GetType(), ""); } IPlugin_DataUpdater dataUpdater = (IPlugin_DataUpdater)Activator.CreateInstance(type); foreach (string key in dic_Arguments.Keys) { dataUpdater.SetValue(key, dic_Arguments[key]); } return(dataUpdater); } LogHelper.Warn(GetType(), "数据更新配置:‘" + updaterInfo.name + "’没有配置任何更新类"); return(null); }