internal bool Initialize(bool initErrorHandler, bool initRecTV, bool initEPG) { Monitor.Enter(initLock); if (IsInitialized) { Functions.WriteLineToLogFile("Init: Server already initialized, bailing out of init."); Monitor.Exit(initLock); return(true); } Functions.WriteLineToLogFile("Init: Initialise() Beginning"); // LEgacy app running? if (Functions.isLegacyAppRunning()) { Functions.WriteLineToLogFile("Init: Error - conflict - RemotePotato.exe (legacy app) is running."); Monitor.Exit(initLock); return(false); } // Hook up events if (initErrorHandler) { Functions.WriteLineToLogFile("Init: Initializing Error Handler..."); ErrorHandler.Default.Initialize(); } // RecTV if (initRecTV) { Functions.WriteLineToLogFile("Init: Initializing RecTV..."); RecTV.Default.Initialize(); } // Force Setting//LEGACYREMOVE ? (leave for a few months) if ((initEPG) && Settings.Default.EnableMediaCenterSupport) { Functions.WriteLineToLogFile("Init: Initia1izing EPG..."); Settings.Default.EnableEPG = true; if (EPGManager.Initialise()) { Functions.WriteLineToLogFile("Init: Initialized EPG - loading EPG Data"); //EPGManager.PopulateTVChannels(false); EPGManager.UpdateTVChannels(); // load TV channels from disk cache then update by combining with channels from media center : Includes a call to EPGManager.PopulateTVChannels(false) EPGManager.ReloadAllRecordings(); Functions.WriteLineToLogFile("Init: Loaded EPG Data"); } else { Functions.WriteLineToLogFile("ERROR - could not initialise the EPG Manager ."); IsInitialized = false; Monitor.Exit(initLock); return(false); } } // DNS CLIENT if (Settings.Default.DynDNSClientEnabled) { Functions.WriteLineToLogFile("Init: Initializing Dynamic DNS Client..."); DNSHelper.Default.Start(); Functions.WriteLineToLogFile("Init: Initialized Dynamic DNS Client..."); } IsInitialized = true; Functions.WriteLineToLogFile("Init: Initialise() Ending"); Monitor.Exit(initLock); return(true); }