private void HandleError(ContactPluginData plugin, Exception e, PluginData.PluginDataState failed_state = PluginData.PluginDataState.DISABLED_ERROR) { Utils.PluginLog(PluginManagerName(), "Plugin \"" + plugin.contact_plugin.ProviderName() + "\" had an error Due to: " + e.Message); plugin.state = failed_state; plugin.last_error = e.Message; active_plugin = null; }
protected override void PluginLoadRegisterPlugin(PluginData plugin) { ContactPluginData data = plugin as ContactPluginData; if (active_plugin != null) { throw new Exception("Can only handle one contact plugin at a time right now and the current one is: " + active_plugin.plugin.ProviderName()); } try { data.contact_plugin.Initialize(); active_plugin = data; Application.Current.Dispatcher.BeginInvoke((Action)ContactInit); } catch (Exception e) { HandleError(data, e, PluginData.PluginDataState.ERROR_LOADING); } }
protected override void PluginLoadRegisterPlugin(PluginData plugin) { ContactPluginData data = plugin as ContactPluginData; if (active_plugin != null) throw new Exception("Can only handle one contact plugin at a time right now and the current one is: " + active_plugin.plugin.ProviderName()); try { data.contact_plugin.Initialize(); active_plugin = data; Application.Current.Dispatcher.BeginInvoke((Action)ContactInit); } catch (Exception e) { HandleError(data, e, PluginData.PluginDataState.ERROR_LOADING); } }
protected override void HandlePluginLoadReflectionException(PluginData data, ReflectionTypeLoadException ex) { base.HandlePluginLoadReflectionException(data, ex); active_plugin = null; }
protected override void HandlePluginLoadException(PluginData data, Exception e) { base.HandlePluginLoadException(data, e); active_plugin = null; }