コード例 #1
0
ファイル: TestPluginMgr.cs プロジェクト: wanwei/sc2
        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);
        }
コード例 #2
0
ファイル: MarketFactory.cs プロジェクト: wanwei/sc2
        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());
            }
        }
コード例 #3
0
        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);
        }