diff --git a/codan/org.eclipse.cdt.codan.core/META-INF/MANIFEST.MF b/codan/org.eclipse.cdt.codan.core/META-INF/MANIFEST.MF
index 5c061964f07..b77eb2ca230 100644
--- a/codan/org.eclipse.cdt.codan.core/META-INF/MANIFEST.MF
+++ b/codan/org.eclipse.cdt.codan.core/META-INF/MANIFEST.MF
@@ -11,5 +11,4 @@ Require-Bundle: org.eclipse.core.runtime,
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.cdt.codan.core,
- org.eclipse.cdt.codan.core.builder,
org.eclipse.cdt.codan.core.model
diff --git a/codan/org.eclipse.cdt.codan.core/plugin.xml b/codan/org.eclipse.cdt.codan.core/plugin.xml
index 64d7402159f..b7b10a04e5f 100644
--- a/codan/org.eclipse.cdt.codan.core/plugin.xml
+++ b/codan/org.eclipse.cdt.codan.core/plugin.xml
@@ -10,7 +10,7 @@
+ class="org.eclipse.cdt.codan.internal.core.CodanBuilder">
@@ -20,7 +20,7 @@
point="org.eclipse.core.resources.natures">
+ class="org.eclipse.cdt.codan.internal.core.CodeAnlysisNature">
iterator();
+
+ public abstract void addChecker(IChecker checker);
+
+ public abstract void addProblem(IProblem p, String category);
+
+ public abstract void addCategory(IProblemCategory p, String category);
+
+ public abstract void addRefProblem(IChecker c, IProblem p);
+
+ /**
+ * @return
+ */
+ public abstract IProblemProfile getDefaultProfile();
+
+ /**
+ * @return
+ */
+ public abstract IProblemProfile getWorkspaceProfile();
+
+ /**
+ * @param element
+ * @return
+ */
+ public abstract IProblemProfile getResourceProfile(IResource element);
+
+ /**
+ * @param element
+ * @return
+ */
+ public abstract IProblemProfile getResourceProfileWorkingCopy(
+ IResource element);
+
+ /**
+ * Set profile for resource. This method is called by UI, and should not be
+ * called by clients directly
+ *
+ * @param resource
+ * - resource
+ * @param profile
+ * - problems profile
+ */
+ public abstract void updateProfile(IResource resource,
+ IProblemProfile profile);
+}
\ No newline at end of file
diff --git a/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/CodanRuntime.java b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/ICodanAstReconciler.java
similarity index 54%
rename from codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/CodanRuntime.java
rename to codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/ICodanAstReconciler.java
index d7b3be7462f..17bc8f70180 100644
--- a/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/CodanRuntime.java
+++ b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/ICodanAstReconciler.java
@@ -10,23 +10,13 @@
*******************************************************************************/
package org.eclipse.cdt.codan.core.model;
+import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
+import org.eclipse.core.runtime.IProgressMonitor;
+
/**
- * Runtime singleton class to get access to Codan framework parts
+ * @author Alena
*
*/
-public class CodanRuntime {
- private static CodanRuntime instance = new CodanRuntime();
- private CodanProblemReporter problemReporter = new CodanProblemReporter();
-
- public CodanProblemReporter getProblemReporter() {
- return problemReporter;
- }
-
- public void setProblemReporter(CodanProblemReporter reporter) {
- problemReporter = reporter;
- }
-
- public static CodanRuntime getInstance() {
- return instance;
- }
-}
+public interface ICodanAstReconciler {
+ public void reconcileAst(IASTTranslationUnit ast, IProgressMonitor monitor);
+}
\ No newline at end of file
diff --git a/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/ICodanBuilder.java b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/ICodanBuilder.java
new file mode 100644
index 00000000000..ce1f66872c1
--- /dev/null
+++ b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/ICodanBuilder.java
@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Alena Laskavaia
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alena Laskavaia - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.codan.core.model;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+
+/**
+ * @author Alena
+ *
+ */
+public interface ICodanBuilder {
+ public void processResource(IResource resource, IProgressMonitor monitor);
+}
\ No newline at end of file
diff --git a/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/IProblem.java b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/IProblem.java
index 5f262a6dedc..52cfff26c20 100644
--- a/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/IProblem.java
+++ b/codan/org.eclipse.cdt.codan.core/src/org/eclipse/cdt/codan/core/model/IProblem.java
@@ -10,6 +10,8 @@
*******************************************************************************/
package org.eclipse.cdt.codan.core.model;
+import java.util.Collection;
+
public interface IProblem extends IProblemElement {
String getName();
@@ -19,5 +21,17 @@ public interface IProblem extends IProblemElement {
CodanSeverity getSeverity();
- IProblemCategory getCategory();
+ String getMessagePattern();
+
+ void setSeverity(CodanSeverity sev);
+
+ void setEnabled(boolean checked);
+
+ void setMessagePattern(String message);
+
+ public void setProperty(Object key, Object value);
+
+ public Object getProperty(Object key);
+
+ public Collection