Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2003-04-10 01:12:24 +0000
committerAlain Magloire2003-04-10 01:12:24 +0000
commitfebb3908e9c53aad542a01fc2a8332e9e4922802 (patch)
treeaf10b664bd12977ccbb0d17bd2d5dcbe84ee7d70 /core/org.eclipse.cdt.core
parent6b356aa17018951f7ab887996a7c2435f239c077 (diff)
downloadorg.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')
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/core/index/IndexModel.java15
-rw-r--r--core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IndexManager.java11
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/CoreModel.java11
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java20
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();
+ }
+ }
+ }
}

Back to the top