From 92f36abdcefb8ab985a50cdb279712ef8f3c3b0f Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Mon, 8 Nov 2004 23:36:57 +0000 Subject: [PATCH] Added support for refresh preferences and properties. --- debug/org.eclipse.cdt.debug.mi.core/ChangeLog | 9 +++++ .../debug/mi/core/cdi/RegisterManager.java | 4 ++- .../mi/core/cdi/SharedLibraryManager.java | 3 ++ .../org.eclipse.cdt.debug.mi.core/plugin.xml | 4 +++ .../cdt/debug/mi/core/IMIConstants.java | 22 +++++++++++++ .../eclipse/cdt/debug/mi/core/MIPlugin.java | 10 +----- .../mi/core/MIPreferenceInitializer.java | 33 +++++++++++++++++++ 7 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog index 84bbef9b18f..faf073e756c 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog @@ -1,3 +1,12 @@ +2004-11-08 Mikhail Khodjaiants + Added support for refresh preferences and properties. + * IMIConstants.java + * MIPlugin.java + * MIPreferenceInitializer.java: new + * RegisterManager.java + * SharedLibraryManager.java + * plugin.xml + 2004-11-08 Alain Magloire Implement new Interface ICDIFunctionFinished. It returns the return value of the function. diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java index e2a412a8ec0..0348cd22a54 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/RegisterManager.java @@ -19,7 +19,9 @@ import java.util.Map; import org.eclipse.cdt.debug.core.cdi.CDIException; import org.eclipse.cdt.debug.core.cdi.model.ICDIRegisterDescriptor; import org.eclipse.cdt.debug.core.cdi.model.ICDIRegisterGroup; +import org.eclipse.cdt.debug.mi.core.IMIConstants; import org.eclipse.cdt.debug.mi.core.MIException; +import org.eclipse.cdt.debug.mi.core.MIPlugin; import org.eclipse.cdt.debug.mi.core.MISession; import org.eclipse.cdt.debug.mi.core.cdi.model.Register; import org.eclipse.cdt.debug.mi.core.cdi.model.RegisterDescriptor; @@ -49,6 +51,7 @@ public class RegisterManager extends Manager { public RegisterManager(Session session) { super(session, true); regsMap = new Hashtable(); + setAutoUpdate( MIPlugin.getDefault().getPluginPreferences().getBoolean( IMIConstants.PREF_REGISTERS_AUTO_REFRESH ) ); } synchronized List getRegistersList(Target target) { @@ -70,7 +73,6 @@ public class RegisterManager extends Manager { return getRegisterDescriptors(target); } public ICDIRegisterDescriptor[] getRegisterDescriptors(Target target) throws CDIException { - Session session = (Session)getSession(); MISession mi = target.getMISession(); CommandFactory factory = mi.getCommandFactory(); MIDataListRegisterNames registers = factory.createMIDataListRegisterNames(); diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java index 64fb9ed431b..0f525c778d0 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java +++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/SharedLibraryManager.java @@ -20,8 +20,10 @@ import java.util.Map; import org.eclipse.cdt.debug.core.cdi.CDIException; import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary; import org.eclipse.cdt.debug.core.cdi.model.ICDITargetConfiguration; +import org.eclipse.cdt.debug.mi.core.IMIConstants; import org.eclipse.cdt.debug.mi.core.MIException; import org.eclipse.cdt.debug.mi.core.MIFormat; +import org.eclipse.cdt.debug.mi.core.MIPlugin; import org.eclipse.cdt.debug.mi.core.MISession; import org.eclipse.cdt.debug.mi.core.cdi.model.SharedLibrary; import org.eclipse.cdt.debug.mi.core.cdi.model.Target; @@ -55,6 +57,7 @@ public class SharedLibraryManager extends Manager { public SharedLibraryManager (Session session) { super(session, true); sharedMap = new Hashtable(); + setAutoUpdate( MIPlugin.getDefault().getPluginPreferences().getBoolean( IMIConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH ) ); } synchronized List getSharedList(Target target) { diff --git a/debug/org.eclipse.cdt.debug.mi.core/plugin.xml b/debug/org.eclipse.cdt.debug.mi.core/plugin.xml index fd02e3b6f0c..34950845e9b 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/plugin.xml +++ b/debug/org.eclipse.cdt.debug.mi.core/plugin.xml @@ -48,5 +48,9 @@ id="org.eclipse.cdt.debug.mi.core.GDBServerCDebugger"> + + + diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java index 341a42118f0..11f759d8392 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/IMIConstants.java @@ -52,4 +52,26 @@ public interface IMIConstants * The maximum value the MI request timeout can have. */ public static final int MAX_REQUEST_TIMEOUT = Integer.MAX_VALUE; + + /** + * Boolean preference controlling whether the shared library manager will be + * refreshed every time when the execution of program stops. + */ + public static final String PREF_SHARED_LIBRARIES_AUTO_REFRESH = PLUGIN_ID + ".SharedLibraries.auto_refresh"; //$NON-NLS-1$ + + /** + * The default value of the for PREF_SHARED_LIBRARIES_AUTO_REFRESH property + */ + public static final boolean DEF_PREF_SHARED_LIBRARIES_AUTO_REFRESH = true; + + /** + * Boolean preference controlling whether the register manager will be + * refreshed every time when the execution of program stops. + */ + public static final String PREF_REGISTERS_AUTO_REFRESH = PLUGIN_ID + ".Registers.auto_refresh"; //$NON-NLS-1$ + + /** + * The default value of the for PREF_REGISTERS_AUTO_REFRESH property + */ + public static final boolean DEF_PREF_REGISTERS_AUTO_REFRESH = true; } diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java index b980eab071b..3efc6b08dc1 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPlugin.java @@ -17,7 +17,6 @@ import java.io.OutputStream; import java.text.MessageFormat; import java.util.MissingResourceException; import java.util.ResourceBundle; - import org.eclipse.cdt.debug.core.cdi.ICDISession; import org.eclipse.cdt.debug.mi.core.cdi.Session; import org.eclipse.cdt.debug.mi.core.command.CLICommand; @@ -26,6 +25,7 @@ import org.eclipse.cdt.debug.mi.core.command.MITargetAttach; import org.eclipse.cdt.debug.mi.core.command.MITargetSelect; import org.eclipse.cdt.debug.mi.core.output.MIInfo; import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.core.runtime.IPluginDescriptor; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Plugin; @@ -370,14 +370,6 @@ public class MIPlugin extends Plugin { super.start(context); } - /* (non-Javadoc) - * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPrefrences() - */ - protected void initializeDefaultPluginPreferences() { - getPluginPreferences().setDefault(IMIConstants.PREF_REQUEST_TIMEOUT, IMIConstants.DEF_REQUEST_TIMEOUT); - getPluginPreferences().setDefault(IMIConstants.PREF_REQUEST_LAUNCH_TIMEOUT, IMIConstants.DEF_REQUEST_LAUNCH_TIMEOUT); - } - /* (non-Javadoc) * @see org.eclipse.core.runtime.Plugin#shutdown() */ diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java new file mode 100644 index 00000000000..4fb388c55fd --- /dev/null +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/MIPreferenceInitializer.java @@ -0,0 +1,33 @@ +/********************************************************************** + * Copyright (c) 2004 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + ***********************************************************************/ +package org.eclipse.cdt.debug.mi.core; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; + +public class MIPreferenceInitializer extends AbstractPreferenceInitializer { + + /** + * Constructor for MIPreferenceInitializer. + */ + public MIPreferenceInitializer() { + super(); + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() + */ + public void initializeDefaultPreferences() { + MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_REQUEST_TIMEOUT, IMIConstants.DEF_REQUEST_TIMEOUT); + MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_REQUEST_LAUNCH_TIMEOUT, IMIConstants.DEF_REQUEST_LAUNCH_TIMEOUT); + MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_REGISTERS_AUTO_REFRESH, IMIConstants.DEF_PREF_REGISTERS_AUTO_REFRESH); + MIPlugin.getDefault().getPluginPreferences().setDefault(IMIConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH, IMIConstants.DEF_PREF_SHARED_LIBRARIES_AUTO_REFRESH); + } +} \ No newline at end of file