X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/core/XDebugCorePlugin.java b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/core/XDebugCorePlugin.java index a7ffee0..10f7582 100644 --- a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/core/XDebugCorePlugin.java +++ b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/core/XDebugCorePlugin.java @@ -1,32 +1,32 @@ package net.sourceforge.phpeclipse.xdebug.core; -import net.sourceforge.phpeclipse.xdebug.php.launching.IXDebugConstants; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; +import net.sourceforge.phpeclipse.xdebug.php.launching.IXDebugConstants; +import org.eclipse.ui.preferences.ScopedPreferenceStore; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Plugin; import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.IBreakpointManager; import org.eclipse.debug.core.model.IBreakpoint; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.jface.preference.IPreferenceStore; import org.osgi.framework.BundleContext; -/** - * The main plugin class to be used in the desktop. - */ -public class XDebugCorePlugin extends AbstractUIPlugin { - - // The shared instance. +public class XDebugCorePlugin extends Plugin { private static XDebugCorePlugin plugin; - public static final String PLUGIN_ID = "net.sourceforge.phpeclipse.xdebug.core"; //$NON-NLS-1$ + + private XDebugProxy fXDebugProxy; + + private ScopedPreferenceStore preferenceStore; + /** * The constructor. */ public XDebugCorePlugin() { + super(); plugin = this; } @@ -42,6 +42,8 @@ public class XDebugCorePlugin extends AbstractUIPlugin { */ public void stop(BundleContext context) throws Exception { super.stop(context); + if (fXDebugProxy != null) + fXDebugProxy.stop(); plugin = null; } @@ -51,33 +53,18 @@ public class XDebugCorePlugin extends AbstractUIPlugin { public static XDebugCorePlugin getDefault() { return plugin; } - + public static IBreakpoint[] getBreakpoints() { - return getBreakpointManager().getBreakpoints( - IXDebugConstants.ID_PHP_DEBUG_MODEL); + return getBreakpointManager().getBreakpoints(IXDebugConstants.ID_PHP_BREAKPOINT_MODEL); } - + public static IBreakpointManager getBreakpointManager() { return DebugPlugin.getDefault().getBreakpointManager(); - } - - /** - * Returns an image descriptor for the image file at the given plug-in - * relative path. - * - * @param path - * the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return AbstractUIPlugin.imageDescriptorFromPlugin( - "net.sourceforge.phpeclipse.xdebug.core", path); - } + } public static void log(int severity, String message) { - Status status = new Status(severity, PLUGIN_ID, IStatus.OK, message, - null); - XDebugCorePlugin.log(status); + Status status = new Status(severity, PLUGIN_ID, IStatus.OK, message, null) ; + XDebugCorePlugin.log(status) ; } public static void log(IStatus status) { @@ -85,15 +72,38 @@ public class XDebugCorePlugin extends AbstractUIPlugin { } public static void log(Throwable e) { - log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, - "PHPLaunchingPlugin.internalErrorOccurred", e)); //$NON-NLS-1$ + log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "PHPLaunchingPlugin.internalErrorOccurred", e)); //$NON-NLS-1$ } - - /** - * Returns the workspace instance. - */ - public static IWorkspace getWorkspace() { - return ResourcesPlugin.getWorkspace(); + + public static String getUniqueIdentifier() { + return PLUGIN_ID; } - -} + + /*public void setProxyPort(int port) { + if(fXDebugProxy!=null) { + if (fXDebugProxy.isRunning()) { + fXDebugProxy.stop(); + } + fXDebugProxy=null; + } + }*/ + + public XDebugProxy getXDebugProxy() { + if (fXDebugProxy == null) { + int debugPort=getPreferenceStore().getInt(IXDebugPreferenceConstants.DEBUGPORT_PREFERENCE); + if (debugPort<1024) + debugPort=IXDebugPreferenceConstants.DEFAULT_DEBUGPORT; + fXDebugProxy= new XDebugProxy(debugPort); + } + return fXDebugProxy; + } + + public IPreferenceStore getPreferenceStore() { + // Create the preference store lazily. + if (preferenceStore == null) { + preferenceStore = new ScopedPreferenceStore(new InstanceScope(),getBundle().getSymbolicName()); + + } + return preferenceStore; + } +} \ No newline at end of file