TraktPlugin.TraktPlugin.Init C# (CSharp) Method

Init() public method

Starting Point
public Init ( ) : bool
return bool
        public override bool Init()
        {
            TraktLogger.Info("Starting Trakt plugin. Version = '{0}', Date = '{1}'", TraktSettings.Version, TraktSettings.BuildDate);

            TraktSettings.PerformMaintenance();
            TraktSettings.LoadSettings();

            // Load plugins we want to sync
            LoadPluginHandlers();

            TraktLogger.Debug("Adding MediaPortal event handlers");
            g_Player.PlayBackChanged += new g_Player.ChangedHandler(g_Player_PlayBackChanged);
            g_Player.PlayBackEnded += new g_Player.EndedHandler(g_Player_PlayBackEnded);
            g_Player.PlayBackStarted += new g_Player.StartedHandler(g_Player_PlayBackStarted);
            g_Player.PlayBackStopped += new g_Player.StoppedHandler(g_Player_PlayBackStopped);

            // Listen to this event to detect skin\language changes in GUI
            GUIWindowManager.OnDeActivateWindow += new GUIWindowManager.WindowActivationHandler(GUIWindowManager_OnDeActivateWindow);
            GUIWindowManager.OnActivateWindow += new GUIWindowManager.WindowActivationHandler(GUIWindowManager_OnActivateWindow);
            GUIWindowManager.Receivers += new SendMessageHandler(GUIWindowManager_Receivers);

            // Resume/Standby Windows Event
            Microsoft.Win32.SystemEvents.PowerModeChanged += new Microsoft.Win32.PowerModeChangedEventHandler(SystemEvents_PowerModeChanged);

            // Initialise translations
            Translation.Init();

            // Initialise skin settings
            TraktSkinSettings.Init();

            // Initialise genres
            TraktGenres.Init();

            // Initialise Extension Settings
            GUIExtensionSettings.Init();

            // Initialise Skin Dashboard
            DashBoard.Init();

            // Initialise TMDb Cache
            TmdbCache.Init();

            // Load main skin window
            // this is a launching pad to all other windows
            string xmlSkin = GUIGraphicsContext.Skin + @"\Trakt.xml";
            TraktLogger.Info("Loading main skin window. Filename = '{0}'", xmlSkin);
            bool loadResult = Load(xmlSkin);

            // Sync Libaries now and periodically
            syncLibraryTimer = new Timer(new TimerCallback((o) => { SyncLibrary(); }), null, TraktSettings.SyncStartDelay, TraktSettings.SyncTimerLength * 3600000);
            SyncPlayback();

            return loadResult;
        }