# HG changeset patch # User fturovic # Date 1240934683 18000 # Node ID 825355d517668ed3067936b383ff632461ee8e0d # Parent c028612cc5554fa995871fcb56b042ff0717fe2b bug 8806 initial update diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/import_examples.htm --- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/import_examples.htm Mon Apr 27 15:07:35 2009 -0500 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/gettingStarted/import_examples.htm Tue Apr 28 11:04:43 2009 -0500 @@ -1,42 +1,42 @@ - - - - -Importing the SDK example and leavescan plug-ins - - - - - -

Importing the SDK Example

-

You can import any of the plug-ins in Carbide.c++ and examine the source code. However, the SDK provides a plug-in you can import and examine as an example of Carbide.c++ API usage.

- -

You can import this and other plugins into your workspace and view/debug all the source to get a better understanding of the -Carbide.c++ APIs in a functional plugin. Plesae see the page on setting up your development environment for information on how to import a source project.

-

Note that the example plugins were built with JRE1.5, you will likely receive errors with JRE1.6. Select Window > Preferences > Java > Installed JREs to add currently installed JREs and select the JRE to use.

-

When you are done importing you should have new plugins in your workspace and be able to view the - sources for both plugin projects. Your workspace should look something like this:
-
-

-

Adding a Carbide menu

-

The menu items contributed by the Examples plugin are not visible by default in the Carbide.c++ program. To show the missing menu, follow these steps:

-
    -
  1. In Carbide.c++ (not in your Eclipse Java development SDK) choose Window > Customize Perspective...
  2. -
  3. Select the Commands tab
  4. -
  5. Select the checkbox for Carbide.c++ Examples Action Set
    -
    -
  6. -
-

Click OK, and you should now see the Carbide menu in the menu bar. You can now examine the source code and run it in the debugger. See debugging a debugging a Carbide.c++ plug-in for information on setting up a plug-in debug session.

- - + + + + +Importing the SDK example and leavescan plug-ins + + + + + +

Importing the SDK Example

+

You can import any of the plug-ins in Carbide.c++ and examine the source code. However, the SDK provides a plug-in you can import and examine as an example of Carbide.c++ API usage.

+ +

You can import this and other plugins into your workspace and view/debug all the source to get a better understanding of the +Carbide.c++ APIs in a functional plugin. Plesae see the page on setting up your development environment for information on how to import a source project.

+

Note that the example plugins were built with JRE1.5, you will likely receive errors with JRE1.6. Select Window > Preferences > Java > Installed JREs to add currently installed JREs and select the JRE to use.

+When you are done importing you should have new plugins in your workspace and be able to view the + sources for both plugin projects. Your workspace should look something like this:
+
+ +

Adding a Carbide menu

+

The menu items contributed by the Examples plugin are not visible by default in the Carbide.c++ program. To show the missing menu, follow these steps:

+
    +
  1. In Carbide.c++ (not in your Eclipse Java development SDK) choose Window > Customize Perspective...
  2. +
  3. Select the Commands tab
  4. +
  5. Select the checkbox for Carbide.c++ Examples Action Set
    +
    +
  6. +
+

Click OK, and you should now see the Carbide menu in the menu bar. You can now examine the source code and run it in the debugger. See debugging a debugging a Carbide.c++ plug-in for information on setting up a plug-in debug session.

+ + \ No newline at end of file diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/img/gold_header.png diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/api_Change_Notes.htm --- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/api_Change_Notes.htm Mon Apr 27 15:07:35 2009 -0500 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/api_Change_Notes.htm Tue Apr 28 11:04:43 2009 -0500 @@ -56,10 +56,10 @@

Since Carbide 2.0.4

Deprecated APIs

@@ -92,11 +92,10 @@
  • None
  • -

    Since Carbide 2.1

    +

    Since Carbide 2.0.4

    Removed APIs

    @@ -126,31 +125,3 @@ - -

    Removed APIs

    -

    The following Carbide APIs have been removed and are no longer available to plug-ins.

    -

    Since Carbide 1.2.0

    - -

    Since Carbide 1.2.1

    - -

    Since Carbide 1.2.2

    - -

    Since Carbide 2.0

    - - - - diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/extension-points/com_nokia_carbide_templatewizard_wizardTemplate.html --- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/extension-points/com_nokia_carbide_templatewizard_wizardTemplate.html Mon Apr 27 15:07:35 2009 -0500 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/extension-points/com_nokia_carbide_templatewizard_wizardTemplate.html Tue Apr 28 11:04:43 2009 -0500 @@ -1,62 +1,65 @@ - - - -Wizard Template - - - -

    Wizard Template

    -

    -
    Identifier:
    com.nokia.carbide.templatewizard.wizardTemplate

    -
    Since:
    Carbide.c++ 1.2 -

    - -
    Description:
    The wizard template extension point registers a template with the Carbide.c++ template wizard. Templates may create projects or classes. - -See the the documentation under Tasks > Creating Wizard Templates for more information.

    -
    Configuration Markup:
    -

    -

    <!ELEMENT extension (template+)>

    -

    <!ATTLIST extension

    -

    point CDATA #REQUIRED

    id    CDATA #IMPLIED

    name  CDATA #IMPLIED>

    -

    - -

    <!ELEMENT template EMPTY>

    -

    <!ATTLIST template

    -

    templateId         CDATA #REQUIRED

    location           CDATA #REQUIRED

    wizardId           CDATA #REQUIRED

    groupLabel         CDATA #REQUIRED

    filterArguments    CDATA #IMPLIED

    image              CDATA #IMPLIED

    extraPagesProvider CDATA #IMPLIED>

    -

    -

    -The template element registers a single template with the template wizard.

    -
    - -
    Examples:
    
    -<extension point="com.nokia.carbide.templatewizard.wizardTemplate">
    -  <template
    -   templateId="com.nokia.cdt.templates.s60.controlapplication"
    -   location="templates/projecttemplates/S60-ControlApplication/template.xml"
    -   wizardId="com.nokia.carbide.cpp.project.ui.wizards.NewSymbianOSCppProjectWizard" 
    -   groupLabel="S60"
    -   filterArguments="S60:1.2;2.0-2.9"
    -   image="icons/icon_S60.png"
    -  />
    -</extension>
    -
    -

    - -
    Supplied Implementation:
    This extension point registers an XML template. Implementation is not required. -

    - -
    - - - + + + +Wizard Template + + + + +

    Wizard Template

    +

    +
    Identifier:
    com.nokia.carbide.templatewizard.wizardTemplate

    +
    Since:
    Carbide.c++ 1.2 +

    + +
    Description:
    The wizard template extension point registers a template with the Carbide.c++ template wizard. Templates may create projects or classes. + +See the the documentation under Tasks > Creating Wizard Templates for more information.

    +
    Configuration Markup:
    +

    +

    <!ELEMENT extension (template+)>

    +

    <!ATTLIST extension

    +

    point CDATA #REQUIRED

    id    CDATA #IMPLIED

    name  CDATA #IMPLIED>

    +

    + +

    <!ELEMENT template EMPTY>

    +

    <!ATTLIST template

    +

    templateId         CDATA #REQUIRED

    location           CDATA #REQUIRED

    wizardId           CDATA #REQUIRED

    groupLabel         CDATA #REQUIRED

    filterArguments    CDATA #IMPLIED

    image              CDATA #IMPLIED

    extraPagesProvider CDATA #IMPLIED>

    +

    +

    +The template element registers a single template with the template wizard.

    +
    + +
    Examples:
    
    +<extension point="com.nokia.carbide.templatewizard.wizardTemplate">
    +  <template
    +   templateId="com.nokia.cdt.templates.s60.controlapplication"
    +   location="templates/projecttemplates/S60-ControlApplication/template.xml"
    +   wizardId="com.nokia.carbide.cpp.project.ui.wizards.NewSymbianOSCppProjectWizard" 
    +   groupLabel="S60"
    +   filterArguments="S60:1.2;2.0-2.9"
    +   image="icons/icon_S60.png"
    +  />
    +</extension>
    +
    +

    + +
    Supplied Implementation:
    This extension point registers an XML template. Implementation is not required. +

    + +
    +

    +(C) Copyright 2007 Nokia Corporation. + +

    + + diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/extension-points/templatewizard_wizardTemplate.html --- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/extension-points/templatewizard_wizardTemplate.html Mon Apr 27 15:07:35 2009 -0500 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/extension-points/templatewizard_wizardTemplate.html Tue Apr 28 11:04:43 2009 -0500 @@ -1,66 +1,65 @@ - - - -Wizard Template - - - - -

    Wizard Template

    -

    - -

    com.nokia.carbide.templatewizard.wizardTemplate

    - -Carbide.c++ 1.2 - - -The wizard template extension point registers a template with the Carbide.c++ template wizard. Templates may create projects or classes. - -Refer to the documentation under Tasks > Creating Wizard Templates for more information. - -

    <!ELEMENT extension (template+)>

    -

    <!ATTLIST extension

    -

    point CDATA #REQUIRED

    id    CDATA #IMPLIED

    name  CDATA #IMPLIED>

    -
    -

    <!ELEMENT template EMPTY>

    -

    <!ATTLIST template

    -

    templateId         CDATA #REQUIRED

    location           CDATA #REQUIRED

    wizardId           CDATA #REQUIRED

    groupLabel         CDATA #REQUIRED

    filterArguments    CDATA #IMPLIED

    image              CDATA #IMPLIED

    extraPagesProvider CDATA #IMPLIED>

    -

    -

    -The template element registers a single template with the template wizard.

    -
    - -
    - -

    <extension point="com.nokia.carbide.templatewizard.wizardTemplate">

    <!-- Register application template for Yadda Yadda company --> -<template - templateId="com.yadda.templates.application"
    location="templates/projecttemplates/Yadda-Application/template.xml" - wizardId="com.yaddayadda.wizards.NewYaddaProjectWizard" - groupLabel="YaddaYadda" - filterArguments="Yadda:1.2;2.0-4.0" - image="icons/icon_yadda_yadda.png" - /> -

    </extension>

    - -No API implementation is required to provide a basic template. Templates requiring custom processing in code may implement com.nokia.carbide.templatewizard.process.IProcess -

    - - -

    This extension point registers an XML template. Implementation is not required.

    -
    Related Information
    -

    Creating Wizard Templates
    -

    - -

    - - - + + + +Wizard Template + + + + +

    Wizard Template

    +

    + +

    com.nokia.carbide.templatewizard.wizardTemplate

    + +Carbide.c++ 1.2 + + +The wizard template extension point registers a template with the Carbide.c++ template wizard. Templates may create projects or classes. + +Refer to the documentation under Tasks > Creating Wizard Templates for more information. + +

    <!ELEMENT extension (template+)>

    +

    <!ATTLIST extension

    +

    point CDATA #REQUIRED

    id    CDATA #IMPLIED

    name  CDATA #IMPLIED>

    +
    +

    <!ELEMENT template EMPTY>

    +

    <!ATTLIST template

    +

    templateId         CDATA #REQUIRED

    location           CDATA #REQUIRED

    wizardId           CDATA #REQUIRED

    groupLabel         CDATA #REQUIRED

    filterArguments    CDATA #IMPLIED

    image              CDATA #IMPLIED

    extraPagesProvider CDATA #IMPLIED>

    +

    +

    +The template element registers a single template with the template wizard.

    +
    + +
    + +

    <extension point="com.nokia.carbide.templatewizard.wizardTemplate">

    <template + templateId="com.nokia.cdt.templates.s60.controlapplication"
    location="templates/projecttemplates/S60-ControlApplication/template.xml" + wizardId="com.nokia.carbide.cpp.project.ui.wizards.NewSymbianOSCppProjectWizard" + groupLabel="S60" + filterArguments="S60:1.2;2.0-2.9" + image="icons/icon_S60.png" + /> +

    </extension>

    + +No API implementation is required to provide a basic template. Templates requiring custom processing in code may implement com.nokia.carbide.templatewizard.process.IProcess +

    + + +

    This extension point registers an XML template. Implementation is not required.

    +
    Related Information
    +

    Creating Wizard Templates
    +

    + +

    + + + diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/tasks/sdkMainTopic.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/tasks/sdkMainTopic.htm Tue Apr 28 11:04:43 2009 -0500 @@ -0,0 +1,35 @@ + + + + + + Carbide Plug-ins Overview + + + + +

    Carbide Plug-ins Overview

    + +

    Creating a Carbide tool plug-in requires some knowledge and understanding of the Eclipse plug-in environment. There are two methods of creating Carbibe plug-ins, including:

    + +

    Each has its advantages and disadvantages. Importing an existing Carbide plug-in provides a working plug-in that you can modify and add to easily to get something up and running quickly. However, the plug-in probably doesn't include the API interaction you want to implement and includes a lot of resources you probably don't need or want. Creating a new plug-in from scratch has the advantage of giving you a clean slate upon which to add your own code. It doesn't include any basic Carbide support like menu items and preference panel calls that nearly every tool requires, forcing you to add them on your own.

    +

    Which one you choose depends on the type of plug-in you want to develop and how much support you need to get up and running. In either case, both methods will require access to Carbide projects to allow them to interact with the active project.

    +

    Accessing Carbide Project Information

    +

    The following pages describe how to access specific Carbide project information for use in your own tool plug-ins.

    + +

    Related information

    + + + + \ No newline at end of file diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/tasks/sdk_getprojinfo.htm --- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/tasks/sdk_getprojinfo.htm Mon Apr 27 15:07:35 2009 -0500 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/tasks/sdk_getprojinfo.htm Tue Apr 28 11:04:43 2009 -0500 @@ -1,69 +1,69 @@ - - - - -Getting Carbide Project Information - - - - -

    Getting Carbide Project Information

    -

    The following example code fragment demonstrates the use of Carbide.c++ APIs to access Carbide project information.

    -

    NOTE There are two perspective IDs that may be useful when using the Carbide APIs. The perspective ID for the Carbide.c++ perspective is com.nokia.carbide.cpp.CarbideCppPerspective and for the Debug view it is org.eclipse.debug.ui.DebugPerspective.

    -

    Retrieving Carbide.c++ project information starts with knowing your org.eclipse.core.resources.IProject resource and retrieving the com.nokia.carbide.cdt.builder.ICarbideBuildManager instance:

    -

    ICarbideBuildManager buildMgr = ICarbideBuilderPlugin.getBuildManager();

    -

    Now with your IProject resource you can grab the actual Carbide project in com.nokia.carbide.cdt.builder.ICarbideProjectInfo:

    -

    // Assumes IProject (project) is known.
    - ICarbideProjectInfo cpi = null;
    - if (buildMgr.isCarbideProject(project)){
    -   // check to make sure this is a Carbide project
    -   cpi = buildMgr.getProjectInfo(project);
    -}

    -

    Once you get the ICarbideProjectInfo object you can access all the project data, such as environment variables and SIS builder information via the com.nokia.carbide.cdt.builder.ICarbideBuildConfiguration interface. You can retrieve either the default configuration or the full list:

    -

    // Get the default build configuration
    - ICarbideBuildConfiguration defaultConfig = cpi.getDefaultConfiguration();
    -// Get all configurations for this project.
    -List<ICarbideBuildConfiguration> configList = cpi.getBuildConfigurations();

    -

    It is important to note that the data retrieved by the ICarbideBuildConfiguration object is what you see in the project properties pages under the Carbide.c++ group. This is separate from the data in the INF and MMP files.

    -

    Retrieving INF/MMP Project Information

    -

    All Carbide build stages, with the exception of the post-link SIS Builder stage get their data from INF and MMP files. So naturally Carbide needs a way to retrieve and store this data for doing things like setting up the source indexer and displaying the visual INF and MMP editors. The com.nokia.carbide.cdt.builder.EpocEngineHelper class is a good first stop to retrieve this information. For example, if you want to get all the source files in the first MMP file:

    - -
    // ...assumes ICarbideProjectInformation (cpi) is known.
    -List<IPath> mmpPaths = EpocEngineHelper.getMMPFilesForProject(cpi);
    -// array length check omitted for brevity....
    -List<IPath> srcFilesTest = EpocEngineHelper.getSourceFilesForConfiguration(defultConfig, mmpPaths.get(0));
    -

    SDK Management

    -

    Each SDK entry in devices.xml is analogous to a com.nokia.carbide.cpp.sdk.core.ISymbianSDK object. If you want to get the entire list of ISymbianSDK objects (same list and properties from the SDK Preferences page) you simply invoke:

    - -
    ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
    -List<ISymbianSDK> sdkList = sdkMgr.getSDKList();
    - -

    Now you can iterate the list and get whatever information you want out of the installed SDKs. For example, using Java 5 iterators we can get the EPOCROOT values of all the SDKs:

    - -
    for (ISymbianSDK currSDK : sdkList){
    -   String epocRootStr = currSDK.getEPOCROOT();
    -}
    - -

    Reading MMP Statements with the EpocEngine and IMMPData

    -

    This topic demonstrates how you can read the MMP data for any build configuration (ICarbideBuildConfiguration). The main interface for retrieving MMP data is com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPData. Once you get access to this interface you can learn anything you want about a particular MMP file.

    -

    Prerequisite: All MMP and bld.inf parsing requires a dependency to the plugin com.nokia.carbide.cpp.epoc.engine.

    -

    Typically most keywords of interest are either single string settings (TARGETTYPE, TARGET, EPOCSTACKSIZE) or list of settings (MACRO, CAPABILITY, LANG). Other types can be directly retrieved from IMMPData routines. Check the API documentation for specifics.

    -

    The example provided simply iterates through all the MMP files of a particular build configuration and grabs a list value and single item setting. You'll need to get the particular MMP file you are interested in. Play around with the IMMPData object in the run method and you can quickly get the idea.

    -
    // Assumes buildConfig (ICarbideBuildConfiguration) is known
    -for (IPath mmpPath : EpocEngineHelper.getMMPFilesForBuildConfiguration(buildConfig)) {
    -     Object data = EpocEnginePlugin.runWithMMPData(mmpPath,  new
    -                              DefaultMMPViewConfiguration(buildConfig.getCarbideProject().getProject(),
    -                              buildConfig, new AcceptedNodesViewFilter()),  new MMPDataRunnableAdapter() {
    -                        public Object run(IMMPData mmpData) {
    -                          // Example, getting a keyword as a list of strings
    -                          List macros = mmpData.getListArgumentSettings().get(EMMPStatement.MACRO);
    -                          // The real return value, getting a single argument setting
    -                         return mmpData.getSingleArgumentSettings().get(EMMPStatement.TARGETTYPE);
    -		  	                }   
    -      });
    -// Make sure to test for and cast to proper Object type!
    -String mmpStatement = (String)data;  // Now we should have the TARGETTYPE
    -}
    - - + + + + +Getting Carbide Project Information + + + + +

    Getting Carbide Project Information

    +

    The following example code fragments demonstrate the use of Carbide.c++ APIs to access Carbide project information.

    +

    NOTE There are two perspective IDs that may be useful when using the Carbide APIs. The perspective ID for the Carbide.c++ perspective is com.nokia.carbide.cpp.CarbideCppPerspective and for the Debug view it is org.eclipse.debug.ui.DebugPerspective.

    +

    Retrieving Carbide.c++ project information starts with knowing your org.eclipse.core.resources.IProject resource and retrieving the com.nokia.carbide.cdt.builder.ICarbideBuildManager instance:

    +

    ICarbideBuildManager buildMgr = ICarbideBuilderPlugin.getBuildManager();

    +

    Now with your IProject resource you can grab the actual Carbide project in com.nokia.carbide.cdt.builder.ICarbideProjectInfo:

    +

    // Assumes IProject (project) is known.
    + ICarbideProjectInfo cpi = null;
    + if (buildMgr.isCarbideProject(project)){
    +   // check to make sure this is a Carbide project
    +   cpi = buildMgr.getProjectInfo(project);
    +}

    +

    Once you get the ICarbideProjectInfo object you can access all the project data, such as environment variables and SIS builder information via the com.nokia.carbide.cdt.builder.ICarbideBuildConfiguration interface. You can retrieve either the default configuration or the full list:

    +

    // Get the default build configuration
    + ICarbideBuildConfiguration defaultConfig = cpi.getDefaultConfiguration();
    +// Get all configurations for this project.
    +List<ICarbideBuildConfiguration> configList = cpi.getBuildConfigurations();

    +

    It is important to note that the data retrieved by the ICarbideBuildConfiguration object is what you see in the project properties pages under the Carbide.c++ group. This is separate from the data in the INF and MMP files.

    +

    Retrieving INF/MMP Project Information

    +

    All Carbide build stages, with the exception of the post-link SIS Builder stage get their data from INF and MMP files. So naturally Carbide needs a way to retrieve and store this data for doing things like setting up the source indexer and displaying the visual INF and MMP editors. The com.nokia.carbide.cdt.builder.EpocEngineHelper class is a good first stop to retrieve this information. For example, if you want to get all the source files in the first MMP file:

    + +
    // ...assumes ICarbideProjectInformation (cpi) is known.
    +List<IPath> mmpPaths = EpocEngineHelper.getMMPFilesForProject(cpi);
    +// array length check omitted for brevity....
    +List<IPath> srcFilesTest = EpocEngineHelper.getSourceFilesForConfiguration(defultConfig, mmpPaths.get(0));
    +

    SDK Management

    +

    Each SDK entry in devices.xml is analogous to a com.nokia.carbide.cpp.sdk.core.ISymbianSDK object. If you want to get the entire list of ISymbianSDK objects (same list and properties from the SDK Preferences page) you simply invoke:

    + +
    ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
    +List<ISymbianSDK> sdkList = sdkMgr.getSDKList();
    + +

    Now you can iterate the list and get whatever information you want out of the installed SDKs. For example, using Java 5 iterators we can get the EPOCROOT values of all the SDKs:

    + +
    for (ISymbianSDK currSDK : sdkList){
    +   String epocRootStr = currSDK.getEPOCROOT();
    +}
    + +

    Reading MMP Statements with the EpocEngine and IMMPData

    +

    This topic demonstrates how you can read the MMP data for any build configuration (ICarbideBuildConfiguration). The main interface for retrieving MMP data is com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPData. Once you get access to this interface you can learn anything you want about a particular MMP file.

    +

    Prerequisite: All MMP and bld.inf parsing requires a dependency to the plugin com.nokia.carbide.cpp.epoc.engine.

    +

    Typically most keywords of interest are either single string settings (TARGETTYPE, TARGET, EPOCSTACKSIZE) or list of settings (MACRO, CAPABILITY, LANG). Other types can be directly retrieved from IMMPData routines. Check the API documentation for specifics.

    +

    The example provided simply iterates through all the MMP files of a particular build configuration and grabs a list value and single item setting. You'll need to get the particular MMP file you are interested in. Play around with the IMMPData object in the run method and you can quickly get the idea.

    +
    // Assumes buildConfig (ICarbideBuildConfiguration) is known
    +for (IPath mmpPath : EpocEngineHelper.getMMPFilesForBuildConfiguration(buildConfig)) {
    +     Object data = EpocEnginePlugin.runWithMMPData(mmpPath,  new
    +                              DefaultMMPViewConfiguration(buildConfig.getCarbideProject().getProject(),
    +                              buildConfig, new AcceptedNodesViewFilter()),  new MMPDataRunnableAdapter() {
    +                        public Object run(IMMPData mmpData) {
    +                          // Example, getting a keyword as a list of strings
    +                          List macros = mmpData.getListArgumentSettings().get(EMMPStatement.MACRO);
    +                          // The real return value, getting a single argument setting
    +                         return mmpData.getSingleArgumentSettings().get(EMMPStatement.TARGETTYPE);
    +		  	                }   
    +      });
    +// Make sure to test for and cast to proper Object type!
    +String mmpStatement = (String)data;  // Now we should have the TARGETTYPE
    +}
    + + \ No newline at end of file diff -r c028612cc555 -r 825355d51766 carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/tocTasks.xml --- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/tocTasks.xml Mon Apr 27 15:07:35 2009 -0500 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/tocTasks.xml Tue Apr 28 11:04:43 2009 -0500 @@ -1,14 +1,14 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file