Banshee.RemoteListener.RemoteListenerService.IExtensionService C# (CSharp) Method

IExtensionService() private method

private IExtensionService ( ) : void
return void
        void IExtensionService.Initialize()
        {
            _prefs = ServiceManager.Get<PreferenceService>();

            if (_prefs == null) {
                return;
            }

            Page remoteControlPage = new Page("RemoteControl", "Remote Control", 3);
            _prefs.FindOrAdd(remoteControlPage);

            Section BansheeRemotePrefs = remoteControlPage.FindOrAdd(
                new Section("BansheeRemote", "Banshee Remote", 0));

            _portPref = BansheeRemotePrefs.Add(new SchemaPreference<int>(
                RemotePortSchema,
                Catalog.GetString("Port"),
                Catalog.GetString("Banshee will listen for remote control requests on this port")
            ));

            _passIdPref = BansheeRemotePrefs.Add(new SchemaPreference<int>(
                RemotePassIdSchema,
                Catalog.GetString("Password ID"),
                Catalog.GetString("\"Secret\" ID which is required to be specified in incoming requests")
            ));

            _prefs["RemoteControl"]["BansheeRemote"]["remote_control_passid"].ValueChanged += delegate {
                _passId = (int) _prefs["RemoteControl"]["BansheeRemote"]["remote_control_passid"].BoxedValue;
            };

            _prefs["RemoteControl"]["BansheeRemote"]["remote_control_port"].ValueChanged += delegate {
                StartRemoteListener();
            };

            _disposed = false;

            ServiceManager.SourceManager.SourceRemoved += OnSourceRemoved;

            _passId = (int) _prefs["RemoteControl"]["BansheeRemote"]["remote_control_passid"].BoxedValue;

            Helper.SetDbCompressTimeFromFile();
            Helper.CompressDatabase();
            StartRemoteListener();
        }