diff options
author | Alain Magloire | 2003-04-10 01:12:24 +0000 |
---|---|---|
committer | Alain Magloire | 2003-04-10 01:12:24 +0000 |
commit | febb3908e9c53aad542a01fc2a8332e9e4922802 (patch) | |
tree | af10b664bd12977ccbb0d17bd2d5dcbe84ee7d70 /core/org.eclipse.cdt.core | |
parent | 6b356aa17018951f7ab887996a7c2435f239c077 (diff) | |
download | org.eclipse.cdt-febb3908e9c53aad542a01fc2a8332e9e4922802.tar.gz org.eclipse.cdt-febb3908e9c53aad542a01fc2a8332e9e4922802.tar.xz org.eclipse.cdt-febb3908e9c53aad542a01fc2a8332e9e4922802.zip |
add startup() and shtudown() methods.
Diffstat (limited to 'core/org.eclipse.cdt.core')
4 files changed, 53 insertions, 4 deletions
diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/IndexModel.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/IndexModel.java index 0572d580dd0..be995686c7e 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/IndexModel.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/IndexModel.java @@ -89,6 +89,20 @@ public class IndexModel { } /** + * + */ + public void startup() { + manager.startup(); + } + + /** + * + */ + public void shutdown() { + manager.shutdown(); + } + + /** * Initialize default index Model. */ public static IndexModel getDefault() { @@ -101,4 +115,5 @@ public class IndexModel { private IndexModel () { } + } diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java index 0acdf55031a..c8efca7abb4 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java @@ -78,7 +78,7 @@ public class IndexManager implements IElementChangedListener { return projectsMap; } - protected void init () { + public void startup () { requestList = new RequestList(); projectsMap = Collections.synchronizedMap(new HashMap()); CTagsRunner ctags = new CTagsRunner(this); @@ -155,7 +155,9 @@ public class IndexManager implements IElementChangedListener { public void clearRequestList(IResource resource) { if (resource instanceof IFile) { - requestList.removeItem(resource); + if (requestList != null) { + requestList.removeItem(resource); + } } else if (resource instanceof IContainer) { try { IContainer container = (IContainer)resource; @@ -189,7 +191,9 @@ public class IndexManager implements IElementChangedListener { public void addFile(IFile file) { if (CoreModel.getDefault().isTranslationUnit(file) && IndexModel.getDefault().isEnabled(file.getProject())) { - requestList.addItem(file); + if (requestList != null) { + requestList.addItem(file); + } } } @@ -248,7 +252,6 @@ public class IndexManager implements IElementChangedListener { public static IndexManager getDefault() { if (indexManager == null) { indexManager = new IndexManager(); - indexManager.init(); // Register to the C Core Model for C specific changes. CoreModel.getDefault().addElementChangedListener(indexManager); } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java index 919215a0820..977ee4b1a31 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java @@ -185,6 +185,17 @@ public class CoreModel { manager.removeElementChangedListener(listener); } + /** + * @see Plugin#startup + */ + public void startup() { + manager.startup(); + } + + public void shutdown() { + manager.shutdown(); + } + private CoreModel() { } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java index 8b6d0a3daa3..c9c030f9435 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java @@ -747,5 +747,25 @@ public class CModelManager implements IResourceChangeListener { protected void removeInfo(ICElement element) { this.cache.removeInfo(element); } + + /** + * + */ + public void startup() { + // Do any initialization. + } + + /** + * + */ + public void shutdown() { + // Do any shutdown of services. + BinaryRunner[] runners = (BinaryRunner[])binaryRunners.values().toArray(new BinaryRunner[0]); + for (int i = 0; i < runners.length; i++) { + if (runners[i].isAlive()) { + runners[i].interrupt(); + } + } + } } |