Exemplo n.º 1
0
        /// <summary>
        /// initializes the query daemon, and loads favorite sources
        /// </summary>
        public void Initialize()
        {
            MediaApplicationSettings settings = new MediaApplicationSettings();

            settings.LoadSettings();
            _discoveryPlugins = new List <SourceDiscoveryPlugin>();
            SourceDiscoveryManager       discoveryManager             = SourceDiscoveryManager.Instance;
            SourceDiscoveryConfiguration sourceDiscoveryConfiguration = SourceDiscoveryConfiguration.LoadFromFile();

            foreach (SourceDiscoveryDefinition sourceDiscoveryDefinition in sourceDiscoveryConfiguration.Items)
            {
                try
                {
                    SourceDiscoveryPlugin plugin = discoveryManager.GetPlugin(sourceDiscoveryDefinition);
                    plugin.GroupChanged += new EventHandler <GroupEventArgs>(SourceDiscoveryPlugin_GroupChanged);
                    plugin.GroupOnline  += new EventHandler <GroupEventArgs>(SourceDiscoveryPlugin_GroupOnline);
                    plugin.GroupOffline += new EventHandler <GroupEventArgs>(SourceDiscoveryPlugin_GroupOffline);
                    plugin.Start();
                    _discoveryPlugins.Add(plugin);
                }
                catch (Exception e)
                {
                    Debug.WriteLine("Exception encountered while attempting to load source discovery protocol " + sourceDiscoveryDefinition.Name);
                    ErrorLogger.DumpToDebug(e);
                }
            }
            LoadFavorites();
            this.DoubleBuffered = true;
        }
Exemplo n.º 2
0
        public SourceDiscoveryPlugin GetPlugin(FutureConcepts.Media.SourceDiscoveryDefinition sourceDiscovery)
        {
            SourceDiscoveryPlugin result = null;

            if (_plugins.ContainsKey(sourceDiscovery.Name) == false)
            {
                switch (sourceDiscovery.Type)
                {
                case "MasterSourceDiscovery":
                    result = new MasterSourceDiscoveryPlugin(sourceDiscovery);
                    break;

                case "WowzaSourceDiscovery":
                    result = new WowzaSourceDiscoveryPlugin(sourceDiscovery);
                    break;

                case "LocalSourceDiscovery":
                    result = new LocalSourceDiscoveryPlugin(sourceDiscovery);
                    break;

                case "NetMgrSourceDiscovery":
                    result = new NetMgrSourceDiscoveryPlugin(sourceDiscovery);
                    break;

                default:
                    throw new NotImplementedException(sourceDiscovery.Type);
                }
                _plugins[sourceDiscovery.Name] = result;
            }
            else
            {
                result = _plugins[sourceDiscovery.Name];
            }
            return(result);
        }