예제 #1
0
        public void Load(IDVDProfilerAPI api)
        {
            Api = api;

            if (Directory.Exists(ApplicationPath) == false)
            {
                Directory.CreateDirectory(ApplicationPath);
            }

            if (File.Exists(SettingsFile))
            {
                try
                {
                    //Settings = Settings.Deserialize(SettingsFile);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(String.Format(MessageBoxTexts.FileCantBeRead, SettingsFile, ex.Message)
                                    , MessageBoxTexts.ErrorHeader, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            CreateSettings();

            Api.RegisterForEvent(PluginConstants.EVENTID_FormCreated);

            //MenuToken = Api.RegisterMenuItem(PluginConstants.FORMID_Main, PluginConstants.MENUID_Form
            //    , @"Tools", "Plugin Template", MenuId);
        }
예제 #2
0
        public void Load(IDVDProfilerAPI api)
        {
            Api = api;

            if (Directory.Exists(_applicationPath) == false)
            {
                Directory.CreateDirectory(_applicationPath);
            }

            if (File.Exists(_settingsFile))
            {
                try
                {
                    _settings = DVDProfilerSerializer <Settings> .Deserialize(_settingsFile);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format(MessageBoxTexts.FileCantBeRead, _settingsFile, ex.Message), MessageBoxTexts.ErrorHeader, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

            this.CreateSettings();

            if (_settings.DefaultValues.ReceiveFromCastCrewEdit)
            {
                this.LoadReceiver();
            }

            if (Directory.Exists(_applicationPath) == false)
            {
                Directory.CreateDirectory(_applicationPath);
            }

            Api.RegisterForEvent(PluginConstants.EVENTID_FormCreated);

            _copyCastMenuToken = Api.RegisterMenuItem(PluginConstants.FORMID_Main, PluginConstants.MENUID_Form, @"DVD", "Copy Cast", CopyCastMenuId);

            _copyCrewMenuToken = Api.RegisterMenuItem(PluginConstants.FORMID_Main, PluginConstants.MENUID_Form, @"DVD", "Copy Crew", CopyCrewMenuId);

            _pasteMenuToken = Api.RegisterMenuItem(PluginConstants.FORMID_Main, PluginConstants.MENUID_Form, @"DVD", "Paste Cast / Crew", PasteMenuId);

            _receiverSettingMenuToken = Api.RegisterMenuItem(PluginConstants.FORMID_Main, PluginConstants.MENUID_Form, @"Tools", "Enable Cast/Crew Edit 2 Receiver", ReceiverSettingMenuId);

            api.SetRegisteredMenuItemChecked(_receiverSettingMenuToken, _settings.DefaultValues.ReceiveFromCastCrewEdit);

            var pluginVersion = this.PluginVersion.ToString();

            if (_settings.CurrentVersion != pluginVersion)
            {
                this.OpenReadme();

                _settings.CurrentVersion = pluginVersion;
            }
        }
예제 #3
0
        public void Load(IDVDProfilerAPI api)
        {
            //Create a service application that runs on 10083 TCP port
            ServiceApplication = ScsServiceBuilder.CreateService(new ScsTcpEndPoint(10083));

            //Create a CalculatorService and add it to service application
            ServiceApplication.AddService <IDVDProfilerRemoteAccess, DVDProfilerRemoteAccess>(new DVDProfilerRemoteAccess(api));

            //Start service application
            ServiceApplication.Start();
        }
        public DVDProfilerRemoteAccess(IDVDProfilerAPI api)
        {
            m_Api = api;

            m_BeginTransactionLock = new Object();

            m_TransactionLock = new Object();

            m_Timer = new System.Timers.Timer();

            m_Timer.Interval = TimerTimeout;
            m_Timer.Elapsed += OnTimerTick;

            m_EditedProfiles = new Dictionary <String, IDVDInfo>();

            m_OpenProfiles = new Dictionary <String, IDVDInfo>();

            m_Notifications = new Dictionary <ChangeNotificationObject, List <String> >();
        }
예제 #5
0
        public void Unload()
        {
            this.UnloadReceiver();

            try
            {
                DVDProfilerSerializer <Settings> .Serialize(_settingsFile, _settings);
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format(MessageBoxTexts.FileCantBeWritten, _settingsFile, ex.Message), MessageBoxTexts.ErrorHeader, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            Api.UnregisterMenuItem(_copyCastMenuToken);
            Api.UnregisterMenuItem(_copyCrewMenuToken);
            Api.UnregisterMenuItem(_pasteMenuToken);
            Api.UnregisterMenuItem(_receiverSettingMenuToken);

            Api = null;
        }
예제 #6
0
        public void Load(IDVDProfilerAPI api)
        {
            _serviceProvider.Api = api;

            if (IOServices.Folder.Exists(_applicationPath) == false)
            {
                IOServices.Folder.CreateFolder(_applicationPath);
            }

            if (IOServices.File.Exists(_settingsFile))
            {
                try
                {
                    _settings = DVDProfilerSerializer <Settings> .Deserialize(_settingsFile);
                }
                catch (Exception ex)
                {
                    UIServices.ShowMessageBox(string.Format(MessageBoxTexts.FileCantBeRead, _settingsFile, ex.Message), MessageBoxTexts.ErrorHeader, Buttons.OK, Icon.Error);
                }
            }

            if (_settings == null)
            {
                _settings = new Settings();
            }

            if (_settings.DefaultValues == null)
            {
                _settings.DefaultValues = new DefaultValues();
            }

            _serviceProvider.DefaultValues = _settings.DefaultValues;

            Api.RegisterForEvent(PluginConstants.EVENTID_FormCreated);

            _addMenuToken = Api.RegisterMenuItem(PluginConstants.FORMID_Main, PluginConstants.MENUID_Form, @"DVD", "Add by DVD Disc ID", AddMenuId);
        }