<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<!-- =================================================================================== -->
<!-- Error parser(s) provided by the CodeScanner plugin                                  -->
<!-- =================================================================================== -->
	<extension
		id="CSErrorParser"
		name="CodeScanner Error Parser"
		point="org.eclipse.cdt.core.ErrorParser">
		<errorparser
			class="com.nokia.carbide.cpp.internal.codescanner.error.parsers.CSErrorParser">
		</errorparser>
	</extension>
<!-- =================================================================================== -->
<!-- Property Tester(s) provided by the CodeScanner plugin                               -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.core.expressions.propertyTesters">
		<propertyTester
            class="com.nokia.carbide.cpp.internal.codescanner.markers.CSMarkerPropertyTester"
            id="com.nokia.carbide.cpp.codescanner.CSMarkerTest"
            namespace="com.nokia.carbide.cpp.codescanner"
            properties="CSMarkerTest"
            type="org.eclipse.ui.views.markers.MarkerSupportView">
		</propertyTester>
	</extension>
<!-- =================================================================================== -->
<!-- Builder(s) provided by the CodeScanner plugin                                       -->
<!-- =================================================================================== -->
	<extension
		id="CSBuilder"
		name="CodeScanner Project Builder"
		point="org.eclipse.core.resources.builders">
		<builder>
			<run
				class="com.nokia.carbide.cpp.internal.codescanner.CSBuilder">
			</run>
		</builder>
	</extension>
<!-- =================================================================================== -->
<!-- CodeScanner specific problem markers                                                -->
<!-- =================================================================================== -->
	<extension
		id="CSMarker"
		name="CodeScanner Problems"
		point="org.eclipse.core.resources.markers">
		<super type="org.eclipse.core.resources.problemmarker"/>
		<super type="org.eclipse.core.resources.textmarker"/>
		<persistent value="true"/>
		<attribute name="externalLocation"/>
	</extension>
<!-- =================================================================================== -->
<!-- Initializer for preference pages provided by the CodeScanner plugin                 -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.core.runtime.preferences">
		<initializer
			class="com.nokia.carbide.cpp.internal.codescanner.ui.CSPreferenceInitializer">
		</initializer>
	</extension>    
<!-- =================================================================================== -->
<!-- Preference page(s) provided by the CodeScanner plugin                               -->
<!-- =================================================================================== -->
	<extension
       point="org.eclipse.ui.preferencePages">
		<page
            name="CodeScanner"
            category="com.nokia.carbide.cpp.project.ui.preferences.CarbidePreferencePage"
            class="com.nokia.carbide.cpp.internal.codescanner.ui.CSPreferencePage"
            id="com.nokia.carbide.cpp.codescanner.ui.CSPreferencePage">
     <keywordReference
           id="com.nokia.carbide.cpp.codescanner.common">
     </keywordReference>
     <keywordReference
           id="com.nokia.carbide.cpp.codescanner.codescanner">
     </keywordReference>
		</page>
	</extension>
<!-- =================================================================================== -->
<!-- property page(s) provided by the CodeScanner plugin                                 -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.ui.propertyPages">
		<page
			name="CodeScanner"
			class="com.nokia.carbide.cpp.internal.codescanner.ui.CSPropertyPage"
			category="com.nokia.carbide.cdt.builder.ui.CarbideProjectPropertiesGroup"
			id="com.nokia.carbide.cpp.codescanner.ui.CSPropertyPage">
			<filter
				name="nature"
        		value="com.nokia.carbide.cdt.builder.carbideCPPBuilderNature">
        	</filter>            
			<enabledWhen>
				<or>
				<instanceof value="org.eclipse.core.resources.IProject"/>
				<instanceof value="org.eclipse.cdt.core.model.ICProject"/>
				</or>          
			</enabledWhen>
		</page>
	</extension>
<!-- =================================================================================== -->
<!-- Pop-up menu(s) provided by the CodeScanner plugin                                   -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.ui.popupMenus">
		<objectContribution
			adaptable="true"
            id="com.nokia.carbide.cpp.codescanner.popup.CSScanAction"
            objectClass="org.eclipse.core.resources.IResource">
			<visibility>
				<and>
					<objectState
						name="projectNature"
						value="com.nokia.carbide.cdt.builder.carbideCPPBuilderNature"/>
					<and>
						<not>
						<objectState
							name="extension"
							value="mmp"/>
						</not>
						<not>
						<objectState
							name="extension"
							value="inf"/>
						</not>
					</and>
				</and>
				</visibility>
			<action
				class="com.nokia.carbide.cpp.internal.codescanner.popup.actions.CSScanAction"
				definitionId="com.nokia.carbide.cpp.codescanner.command.CSScanAction"
				enablesFor="1"
				icon="icons/Run_CodeScanner.png"
				id="com.nokia.carbide.cpp.codescanner.CSScanAction"
				label="Run CodeScanner"
				menubarPath="buildGroup">
			</action>
		</objectContribution>
		<objectContribution
			adaptable="true"
            nameFilter="*.inf"
            id="com.nokia.carbide.cpp.codescanner.popup.CSScanActionOnINF"
            objectClass="org.eclipse.core.resources.IResource">
			<visibility>
				<objectState
					name="projectNature"
					value="com.nokia.carbide.cdt.builder.carbideCPPBuilderNature"/>
			</visibility>
			<action
				class="com.nokia.carbide.cpp.internal.codescanner.popup.actions.CSScanAction"
				enablesFor="1"
				icon="icons/Run_CodeScanner.png"
				id="com.nokia.carbide.cpp.codescanner.CSScanActionOnINF"
				label="Run CodeScanner on Project INF"
				menubarPath="buildGroup">
			</action>
		</objectContribution>
		<objectContribution
			adaptable="true"
            nameFilter="*.mmp"
            id="com.nokia.carbide.cpp.codescanner.popup.CSScanActionOnMMP"
			objectClass="org.eclipse.core.resources.IResource">
			<visibility>
				<objectState
					name="projectNature"
					value="com.nokia.carbide.cdt.builder.carbideCPPBuilderNature"/>
			</visibility>
			<action
				class="com.nokia.carbide.cpp.internal.codescanner.popup.actions.CSScanAction"
				enablesFor="1"
				icon="icons/Run_CodeScanner.png"
				id="com.nokia.carbide.cpp.codescanner.CSScanActionOnMMP"
				label="Run CodeScanner on Project MMP"
				menubarPath="buildGroup">
			</action>
		</objectContribution>
		<objectContribution
            id="com.nokia.carbide.cpp.codescanner.popup.deleteMarkers"
            objectClass="org.eclipse.core.resources.IMarker">
			<filter
				name="type"
				value="com.nokia.carbide.cpp.codescanner.CSMarker">
			</filter>
			<action
				class="com.nokia.carbide.cpp.internal.codescanner.popup.actions.CSDeleteMarkerAction"
				enablesFor="+"
				icon="icons/Delete_CS_Markers.png"
				id="com.nokia.carbide.cpp.codescanner.CSDeleteMarkers"
				label="Delete CodeScanner Markers"
				menubarPath="additions">
			</action>
		</objectContribution>
		<objectContribution
            id="com.nokia.carbide.cpp.codescanner.popup.markerDetails"
            objectClass="org.eclipse.core.resources.IMarker">
			<filter
				name="type"
				value="com.nokia.carbide.cpp.codescanner.CSMarker">
			</filter>
			<action
				class="com.nokia.carbide.cpp.internal.codescanner.popup.actions.CSMarkerDetailsAction"
				enablesFor="1"
				icon="icons/Run_CodeScanner.png"
				id="com.nokia.carbide.cpp.codescanner.CSMarkerDetails"
				label="View More Information"
				menubarPath="additions">
			</action>
		</objectContribution>
	</extension>
<!-- =================================================================================== -->
<!-- Action set(s) provided by the CodeScanner plugin                                    -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.ui.actionSets">
		<actionSet
			id="com.nokia.carbide.cpp.codescanner.CSScanActionSet"
			label="Run CodeScanner"
			visible="true">
			<action
				class="com.nokia.carbide.cpp.internal.codescanner.popup.actions.CSScanAction"
				enablesFor="1"
				icon="icons/Run_CodeScanner.png"
				id="com.nokia.carbide.cpp.codescanner.CSScanProjectAction"
				label="Run CodeScanner"
				menubarPath="project/build">
				<enablement>
				<objectState
					name="projectNature"
					value="com.nokia.carbide.cdt.builder.carbideCPPBuilderNature"/>
				</enablement>
			</action>
		</actionSet>
	</extension>
<!-- =================================================================================== -->
<!-- Command(s) provided by the CodeScanner plugin                                       -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.ui.commands">
		<command
			categoryId="org.eclipse.ui.category.project"
			id="com.nokia.carbide.cpp.codescanner.command.CSScanAction"
			name="Run CodeScanner">
		</command>
		<command
			id="com.nokia.carbide.cpp.codescanner.command.markerDetails"
			name="View More Information">
		</command>
	</extension>
<!-- =================================================================================== -->
<!-- Handler(s) provided by the CodeScanner plugin                                       -->
<!-- =================================================================================== -->
	<extension 
		point="org.eclipse.ui.handlers">
		<handler
			class="com.nokia.carbide.cpp.internal.codescanner.markers.CSMarkerDetailsHandler"
			commandId="com.nokia.carbide.cpp.codescanner.command.markerDetails">
		</handler>
	</extension>
<!-- =================================================================================== -->
<!-- Marker resolution(s) provided by the CodeScanner plugin                             -->
<!-- =================================================================================== -->
	<extension 
		point="org.eclipse.ui.ide.markerResolution">
		<markerResolutionGenerator
			markerType="com.nokia.carbide.cpp.codescanner.CSMarker"
			class="com.nokia.carbide.cpp.internal.codescanner.markers.CSMarkerResolutionGenerator"/>
	</extension>
<!-- =================================================================================== -->
<!-- Menu contribution(s) provided by the CodeScanner plugin                             -->
<!-- =================================================================================== -->
	<extension 
		point="org.eclipse.ui.menus">
		<menuContribution
			locationURI="popup:org.eclipse.ui.ide.MarkersView?after=org.eclipse.ui.ide.markersSeperator1">
			<command
				commandId="com.nokia.carbide.cpp.codescanner.command.markerDetails"
				icon="icons/Run_CodeScanner.png">
				<visibleWhen>
					<and>
						<count value="1"/>
						<with variable="activePart">
							<test
								property="com.nokia.carbide.cpp.codescanner.CSMarkerTest">
							</test>
						</with>
					</and>
				</visibleWhen>
			</command>
		</menuContribution>
	</extension>
<!-- =================================================================================== -->
<!-- TOC extension point adds help contents to Carbide Help section                      -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.help.toc">
		<toc
			file="tocCodeScanner.xml"
			primary="true"/>      	    
 		<index path="index" />
	</extension>
	
	<!-- KEYWORD INDEX ADDITION -->
		<extension
	       point="org.eclipse.help.index">
	      <index file="html/index.xml"/>
	    </extension>
<!-- =================================================================================== -->
<!-- Cheatsheets that support CodeScanner                                                -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.ui.cheatsheets.cheatSheetContent">
		<cheatsheet
			category="com.nokia.carbide.cpp.tools.cheatsheets"
			composite="false"
			contentFile="html/cheatsheets/Using_CodeScanner.xml"
			id="com.nokia.carbide.cpp.codescanner.quickstart"
			name="CodeScanner Quick Start">
		</cheatsheet>
	</extension>
<!-- =================================================================================== -->
<!-- CONTEXT HELP IDs that support CodeScanner                                           -->
<!-- =================================================================================== -->
	<extension point="org.eclipse.help.contexts" >
		<contexts file="html/cs_CONTEXTID.xml"
			plugin="com.nokia.carbide.cpp.codescanner"/>
	</extension>
<!-- =================================================================================== -->
<!-- Universal Intro support for welcome pages                                           -->
<!-- =================================================================================== -->
	<extension
		point="org.eclipse.ui.intro.configExtension">
		
		<configExtension
			configId="org.eclipse.ui.intro.universalConfig" 
			content="html/intro/overviewCodeScannerExtContent.xml" /> 
		 
		<configExtension
			configId="org.eclipse.ui.intro.universalConfig"
			content="html/intro/whatsnewCodeScannerExtContent.xml" /> 
		 
	</extension>
<!-- =================================================================================== -->
<!-- Extension point(s) provided by the CodeScanner plugin                               -->
<!-- =================================================================================== -->
	<extension-point id="rules" name="Rules" schema="schema/knowledgeBase.exsd"/>
 <extension
       point="org.eclipse.ui.keywords">
    <keyword
          id="com.nokia.carbide.cpp.codescanner.common"
          label="%carbcPreference.common">
    </keyword>
    <keyword
          id="com.nokia.carbide.cpp.codescanner.codescanner"
          label="%carbcPreference.codescanner">
    </keyword>
 </extension>

</plugin>
