C/C++ Development User Guide
  Before you begin
  Getting Started
    Preparing the Workbench
    Creating a simple application
    Creating a Makefile project
    Importing an existing project
    Building a project
    Debugging projects
    Importing C/C++ source files into Eclipse
  Concepts
    CDT Overview
    CDT Projects
    Perspectives available to C/C++ developers
    Views in the C/C++ perspective
    Code aids
      Comments
      Content Assist
      Templates
    Editing C/C++ files
      C/C++ editor
      Makefile
    Navigation aids
      Outline View
      Project File views
      C/C++ Search
      Open Declaration
    Build
      Building C/C++ Projects
    Debug
      BreakPoints
      Debug overview
      Debug information
    C/C++ search
      C/C++ Indexer
      C/C++ Indexer Opening or Closing a project
      C/C++ Indexer Progress Bar
  Tasks
    Creating a project
    Creating a project via a project template
    Work with C or C++ project files
      Display file members in the C/C++ Projects view
      Converting a C or C++ nature for a project
      Create a C/C++ file
      Create a makefile
      Hide files of a given type
      Converting CDT 1.x Projects
      Converting CDT 2.x Managed Make Projects
      Adding Convert to a C/C++ Make Project to the New menu
    Write code
      Customize the C/C++ editor
      Comment out code
      Working with Content Assist
        Using Content Assist
        Creating and editing templates
        Importing and exporting templates
      Shift lines of code to the left or right
      Navigate to C/C++ declarations by name
      Refactoring
    Building projects
      Renaming a project
      Defining Project Build settings
      Filtering Errors
      Selecting a binary parser
      Adding Include paths and symbols
      Selecting a project type
      Building Manually
      Removing Build Automatically
      Autosaving on a build
      Creating a make target
      Customizing the Console view
      Viewing and managing compile errors
        Jumping to errors
        Filtering the Problems view
        Setting reminders
    Running and debugging projects
      Creating or editing a run/debug configuration
        Selecting a run or debug configuration
        Creating a run or debug configuration
        Selecting an application to run or debug
        Specifying execution arguments
        Setting environment variables
        Defining debug settings
        Specifying the location of source files
        Specifying the location of the run configuration
      Debugging
        Debugging a program
        Debugging an existing executable
        Using breakpoints, watchpoints, and breakpoint actions
          Adding breakpoints
          Adding watchpoints
          Adding breakpoint actions
          Removing breakpoints and watchpoints
          Enabling or disable breakpoints and watchpoints
          Attaching or removing breakpoint actions
        Controlling debug execution
        Stepping into assembler funcitons
        Working with variables
        Adding expressions
        Working with registers
        Working with memory
    Searching the CDT
      Selection Searching for C/C++ elements
      Setting Source Folders
  Reference
    C/C++ Views and Editors
      Selecting Views and Editors
      C/C++ Projects view
      Project Explorer view
      Outline view
      Make Targets view
      Editor view
      Console view
      Problems view
      Properties view
      Search view
      Call Hierarchy view
      Type Hierarchy view
      Include Browser view
      Debug views
        Registers view
        Memory view
        Memory view preferences
        Disassembly view
        Modules view
        Signals view
        Debug view
        Debug preferences
      C/C++ Icons
    C/C++ Menubar
      File Menu actions
      Edit Menu actions
      Refactor Menu actions
      Navigate Menu actions
      Search Menu actions
      Project Menu actions
      Run Menu actions
      Window Menu actions
    C/C++ Toolbar
    C/C++ Open Element
    C/C++ Find and Replace
    C/C++ Preferences
      Appearance preferences
      Build Console preferences
      Debug preferences
        Breakpoint Actions preferences
        GDB MI preferences
        Source Code Locations preferences
      Code Style preferences
        Code Templates preferences
      C/C++ Editor preferences
        General preferences
        Content Assist preferences
          Advanced preferences
        Folding preferences
        Hovers preferences
        Mark Occurrences preferences
        Save Actions preferences
        Scalability preferences
        Syntax Coloring preferences
        Templates preferences
        Typing preferences
      Environment preferences
      File Types
      Language Mappings preferences
      Make
        Makefile Editor
        Settings
      New CDT project wizard
        Preferred Toolchains tab
        Wizard Defaults tab
        Makefile Project pages
          Binary parsers
          Error parsers
          Discovery options
          Builder settings
          Behaviour
      Property Pages Settings
        Multiple Configurations Edit
    C/C++ Properties
      C/C++ Project properties
        Resource page
        Builders page
        Common C/C++ Configurations handling
          Manage Configurations dialog
          Create Configuration dialog
          Rename Configuration dialog
        C/C++ Build
          Build Variables page
          Discovery options page
          Environment page
          Settings page
            Tool Settings tab
            Build Steps tab
            Build Artifact tab
            Binary Parsers tab
            Error Parsers tab
          Tool chain editor page
        C/C++ General
          Documentation page
          Export Settings page
          File Types page
          Indexer page
          Language Mapping page
          Paths and Symbols page
            Includes tab
            Symbols tab
            Libraries tab
            Libraries path tab
            Source Location tab
            Output Location tab
            References tab
            Data Hierarchy tab
        Project References page
        Run/Debug Settings page
      C/C++ Folder properies
        Resource page
        C/C++ Build
          Discovery options page
          Settings page
            Tool Settings tab
          Tool chain editor page
        C/C++ General
          Paths and Symbols page
            Includes tab
            Symbols tab
            Libraries tab
            Libraries path tab
            Data Hierarchy tab
        Run/Debug Settings page
      C/C++ File Properties
        Resource page
        C/C++ Build
          Discovery options page
          Settings page
            Tool Settings tab
            Build Steps tab
          Tool Chain Editor page
        C/C++ General
          Language Mapping page
          Paths and Symbols page
            Includes tab
            Symbols tab
            Data Hierarchy tab
        Run/Debug Settings page
    C/C++ New Project Wizard
      Set Project Name and Location
      Select Project type
      Select Toolchain
      Select Configurations
    C/C++ Run and Debug
      Main
      Arguments
      Environment
      Debugger
      Source
      Common
    C/C++ search page
  What's new in CDT 6.0
  Legal
  Before you begin
  Getting Started
    Preparing the Workbench
    Creating a simple application
    Creating a Makefile project
    Importing an existing project
    Building a project
    Debugging projects
    Importing C/C++ source files into Eclipse
  Concepts
    CDT Overview
    CDT Projects
    Perspectives available to C/C++ developers
    Views in the C/C++ perspective
    Code aids
      Comments
      Content Assist
      Templates
    Editing C/C++ files
      C/C++ editor
      Makefile
    Navigation aids
      Outline View
      Project File views
      C/C++ Search
      Open Declaration
    Build
      Building C/C++ Projects
    Debug
      BreakPoints
      Debug overview
      Debug information
    C/C++ search
      C/C++ Indexer
      C/C++ Indexer Opening or Closing a project
      C/C++ Indexer Progress Bar
  Tasks
    Creating a project
    Creating a project via a project template
    Work with C or C++ project files
      Display file members in the C/C++ Projects view
      Converting a C or C++ nature for a project
      Create a C/C++ file
      Create a makefile
      Hide files of a given type
      Converting CDT 1.x Projects
      Converting CDT 2.x Managed Make Projects
      Adding Convert to a C/C++ Make Project to the New menu
    Write code
      Customize the C/C++ editor
      Comment out code
      Working with Content Assist
        Using Content Assist
        Creating and editing templates
        Importing and exporting templates
      Shift lines of code to the left or right
      Navigate to C/C++ declarations by name
      Refactoring
    Building projects
      Renaming a project
      Defining Project Build settings
      Filtering Errors
      Selecting a binary parser
      Adding Include paths and symbols
      Selecting a project type
      Building Manually
      Removing Build Automatically
      Autosaving on a build
      Creating a make target
      Customizing the Console view
      Viewing and managing compile errors
        Jumping to errors
        Filtering the Problems view
        Setting reminders
    Running and debugging projects
      Creating or editing a run/debug configuration
        Selecting a run or debug configuration
        Creating a run or debug configuration
        Selecting an application to run or debug
        Specifying execution arguments
        Setting environment variables
        Defining debug settings
        Specifying the location of source files
        Specifying the location of the run configuration
      Debugging
        Debugging a program
        Debugging an existing executable
        Using breakpoints, watchpoints, and breakpoint actions
          Adding breakpoints
          Adding watchpoints
          Adding breakpoint actions
          Removing breakpoints and watchpoints
          Enabling or disable breakpoints and watchpoints
          Attaching or removing breakpoint actions
        Controlling debug execution
        Stepping into assembler funcitons
        Working with variables
        Adding expressions
        Working with registers
        Working with memory
    Searching the CDT
      Selection Searching for C/C++ elements
      Setting Source Folders
  Reference
    C/C++ Views and Editors
      Selecting Views and Editors
      C/C++ Projects view
      Project Explorer view
      Outline view
      Make Targets view
      Editor view
      Console view
      Problems view
      Properties view
      Search view
      Call Hierarchy view
      Type Hierarchy view
      Include Browser view
      Debug views
        Registers view
        Memory view
        Memory view preferences
        Disassembly view
        Modules view
        Signals view
        Debug view
        Debug preferences
      C/C++ Icons
    C/C++ Menubar
      File Menu actions
      Edit Menu actions
      Refactor Menu actions
      Navigate Menu actions
      Search Menu actions
      Project Menu actions
      Run Menu actions
      Window Menu actions
    C/C++ Toolbar
    C/C++ Open Element
    C/C++ Find and Replace
    C/C++ Preferences
      Appearance preferences
      Build Console preferences
      Debug preferences
        Breakpoint Actions preferences
        GDB MI preferences
        Source Code Locations preferences
      Code Style preferences
        Code Templates preferences
      C/C++ Editor preferences
        General preferences
        Content Assist preferences
          Advanced preferences
        Folding preferences
        Hovers preferences
        Mark Occurrences preferences
        Save Actions preferences
        Scalability preferences
        Syntax Coloring preferences
        Templates preferences
        Typing preferences
      Environment preferences
      File Types
      Language Mappings preferences
      Make
        Makefile Editor
        Settings
      New CDT project wizard
        Preferred Toolchains tab
        Wizard Defaults tab
        Makefile Project pages
          Binary parsers
          Error parsers
          Discovery options
          Builder settings
          Behaviour
      Property Pages Settings
        Multiple Configurations Edit
    C/C++ Properties
      C/C++ Project properties
        Resource page
        Builders page
        Common C/C++ Configurations handling
          Manage Configurations dialog
          Create Configuration dialog
          Rename Configuration dialog
        C/C++ Build
          Build Variables page
          Discovery options page
          Environment page
          Settings page
            Tool Settings tab
            Build Steps tab
            Build Artifact tab
            Binary Parsers tab
            Error Parsers tab
          Tool chain editor page
        C/C++ General
          Documentation page
          Export Settings page
          File Types page
          Indexer page
          Language Mapping page
          Paths and Symbols page
            Includes tab
            Symbols tab
            Libraries tab
            Libraries path tab
            Source Location tab
            Output Location tab
            References tab
            Data Hierarchy tab
        Project References page
        Run/Debug Settings page
      C/C++ Folder properies
        Resource page
        C/C++ Build
          Discovery options page
          Settings page
            Tool Settings tab
          Tool chain editor page
        C/C++ General
          Paths and Symbols page
            Includes tab
            Symbols tab
            Libraries tab
            Libraries path tab
            Data Hierarchy tab
        Run/Debug Settings page
      C/C++ File Properties
        Resource page
        C/C++ Build
          Discovery options page
          Settings page
            Tool Settings tab
            Build Steps tab
          Tool Chain Editor page
        C/C++ General
          Language Mapping page
          Paths and Symbols page
            Includes tab
            Symbols tab
            Data Hierarchy tab
        Run/Debug Settings page
    C/C++ New Project Wizard
      Set Project Name and Location
      Select Project type
      Select Toolchain
      Select Configurations
    C/C++ Run and Debug
      Main
      Arguments
      Environment
      Debugger
      Source
      Common
    C/C++ search page
  What's new in CDT 6.0
  Legal
Capability Scanner User Guide
  Release Notes
  Concepts
    Capability Scanner Overview
    Symbian Platform Security
    Symbian Capability
    Symbian API Capabilities List
    Certificate
  References
    CBuild-Console
    Problems View
    Platform Security View
    Error Log
    Reserved Capability Names
  Tasks
    Opening the Platform Security view
    Activating the Capability Scanner
  Release Notes
  Concepts
    Capability Scanner Overview
    Symbian Platform Security
    Symbian Capability
    Symbian API Capabilities List
    Certificate
  References
    CBuild-Console
    Problems View
    Platform Security View
    Error Log
    Reserved Capability Names
  Tasks
    Opening the Platform Security view
    Activating the Capability Scanner
Carbide Tools
  API Query
    Release Notes
    Getting Started
      Overview
      Basic walk-through
    Concepts
      Data source
      Software Development Kit (SDK)
      API metadata file
    Tasks
      Configuring data sources
      Running an API query from the Search tab
      Running an API query from the context menu
        Running an API Query based on the source code identifier
        Running an API Query for a project
    Data source configurations
      API metadata file data source
        Configuring the API metadata file data source properties
    Legal
  Symbian Foundation Templates Wizard
    Release Notes
    Overview
    Legal
  CodeScanner User Guide
    Release Notes
    Overview
    Quick Start
    CodeScanner preferences
      File Filters
      Rules
    Running CodeScanner
      Carbide.c++ IDE
      Command-line Tools
    Viewing Reports
    Optimizing CodeScanner
    Customizing CodeScanner
    Bugs Fixed
  Symbian OS Crash Debugger
    Concepts
      Critical Threads and Processes
      Debug Monitor
      Kernel Calls and Thread Context
      Process and Thread Priorities
      Symbian OS Memory Map
      Stacks
      Thread and Process Exit Information Summary
      Thread State Summary
      Virtual Memory and Run Addresses
    Reference
      Overview
      ARM Information
        ARM Exception Types
        ARM Fault Status Register Values
        ARM Processor Modes
      Crash Debugger Commands
        C - Display contents of Object Container
        c - Display contents of Object Container
        f - Display Kernel Fault Information
        i - Display Information for the Current Process and Thread
        m - Do a Memory Dump
        o - Display Brief DObject Information
        r - Dump Register Contents
        q - Display Full DObject Information
        X - Leave Debugger, Return to Bootloader
        x - Leave Debugger, Cold Restart ROM Image
        z - Do a Memory Dump, Skipping over Unmapped Memory
      Crash Debugger Views
        Crash Debugger Console View
        Memory Dump Options
        Object Address
      Crash Debugger Launch Configuration
    Tasks
      Call Stack
        General Points
        Finding the Stack
        Tracing through the Stack Heuristically
        Walking through the Call Stack
      Examining Kernel Items
        Kernel Objects
        Kernel Containers
      Extracting Kernel Information
        Scheduler State
        Current Thread State
        Current Process State
        Current Data Section Process
      Finding Fault Types
        Unhandled Exceptions
        Panics
      Memory
        Examining Memory
        Dumping the Contents of Classes
      Setting Up the Debug Monitor
      Using the MAKSYM Tool
  Epocwind.out Scanner Guide
    Working with Epocwind.out Scanner
    Concepts
      Symbian PlatSec
      Symbian Capability
      Symbian OS Emulation
      EPOCWIND.OUT File
      PlatSec Warning/Error Messages
      Build Configuration
    References
      PlatSec Diagnostics Console
    Tasks
      Opening the PlatSec Diagnostics Console
      Activating the PlatSec Diagnostics Console
  Carbide.c++ Plug-in Developer Guide
    Carbide SDK Overview
    Getting Started
      Background information
      Setting up your development environment
      Installing the Carbide.c++ Plug-in SDK help
      Importing the SDK example and leavescan plug-ins
      Debugging a Carbide.c++ plug-in
    Reference
      API Reference
        com.nokia.carbide.cdt.builder
        com.nokia.carbide.cdt.builder.builder
        com.nokia.carbide.cdt.builder.project
        com.nokia.carbide.cpp.sdk.core
        com.nokia.carbide.cpp.sdk.ui
        com.nokia.carbide.cpp.sdk.ui.shared
        com.nokia.carbide.cpp.project.core
        com.nokia.carbide.cpp.project.core.processes
        com.nokia.carbide.cpp.epoc.engine
        com.nokia.carbide.cpp.epoc.engine.image
        com.nokia.carbide.cpp.epoc.engine.model
        com.nokia.carbide.cpp.epoc.engine.model.bldinf
        com.nokia.carbide.cpp.epoc.engine.model.makefile
        com.nokia.carbide.cpp.epoc.engine.model.makefile.image
        com.nokia.carbide.cpp.epoc.engine.model.mmp
        com.nokia.carbide.cpp.epoc.engine.preprocessor
        com.nokia.carbide.cpp.ui
        com.nokia.carbide.template.engine
        com.nokia.carbide.templatewizard.process
        com.nokia.carbide.templatewizard.processes
      Extension Points Reference
        Wizard Template
      Changes to the Carbide API
      Custom Components
        Component Definition Element
        Component Element
        Symbian Element
        Designer Images Element
        Attributes Element
          Defining a Transient Component
        Properties Element
        Events Element
        Implementations
          JavaScript
          Wrapped Types
          JavaScript Globals
          JavaScript Libraries
          Rendering
          Common Issues and Troubleshooting
        RSS Source Mapping
          Mappings
          Resource Member Mapping
          Simple Member Mapping
          Enum Member Mapping
          Identifier Member Mapping
          Instance Mapping
          Reference Mapping
          Bitmask Mapping
          Array Member Mapping
          Fixed Mapping
          Type Mapping
          Conditional Mapping
        Source Generation
          Contributions
          Locations
          DefineLocation Element
          Cpp location segments
          Owned/Non-owned/Filtered Locations
          Template element
          Inline Element
          CDATA Tag
          Forms
          Macros
          Macro argument modifiers
          Expanding macros
          Script Reference
          Contribution Engine Routines
          Debugging
          Inheritance
      Component XSD Description
    Tasks
      Adding Items to the Carbide Menu
      Adding Global Preferences to the Carbide Extensions group
      Adding Plug-in Help
      Creating Wizard Templates
      Carbide Plug-in Overview
        Getting Carbide Project Information
        Retrieving INF and MMP Project Information
      Installing Your Own Carbide Plug-ins
    UI Designer Custom Components
      Overview
      Custom Component Architecture
      Developing New Components
      Components Menu
        Force Save
        Refresh Components
        Select Custom Component Projects...
        Configure SourceGen Debugging...
      Tutorials
        Equal Container S60
          Create Project for Equal Container Example
          Write the Component and Script Code
          Change CCoeControl’s Layout Behavior to be Dynamic
          Expose the New Container in the Design Wizard
          Create UI Design for UI Designer Project
        Vertical Label S60
          Create Project for Example Component Files
          Enable Components Menu
          Add Custom Component to UI Designer
          Create UI Designer Project to Test Custom Component
          XML Details
        Vertical Label UIQ
          Create Project for Example Component Files
          Enable Components Menu
          Add Custom Component to UI Designer
          Create UI Designer Project to Test Custom Component
          XML Details
    Legal
  Dependency Explorer
    Release Notes
    Getting Started
      Overview
      Basic walk-through
    Concepts
      Software Development Kit (SDK)
      Component
      Function
      Properties
    Tasks
      Managing SDKs
      Selecting SDKs
      Setting preferences
      Locating components
      Analysing components
      Checking component properties
      Checking imported functions
      Checking exported functions
      Finding components
      Searching for components and functions
      Viewing source files
      Viewing source file in project
      Viewing method call locations
      Exporting the report
    References
      Messages and notifications
      Toolbar
    Appendix: Static Dependencies to Dynamic Data
    Legal
  Legal
  API Query
    Release Notes
    Getting Started
      Overview
      Basic walk-through
    Concepts
      Data source
      Software Development Kit (SDK)
      API metadata file
    Tasks
      Configuring data sources
      Running an API query from the Search tab
      Running an API query from the context menu
        Running an API Query based on the source code identifier
        Running an API Query for a project
    Data source configurations
      API metadata file data source
        Configuring the API metadata file data source properties
    Legal
  Symbian Foundation Templates Wizard
    Release Notes
    Overview
    Legal
  CodeScanner User Guide
    Release Notes
    Overview
    Quick Start
    CodeScanner preferences
      File Filters
      Rules
    Running CodeScanner
      Carbide.c++ IDE
      Command-line Tools
    Viewing Reports
    Optimizing CodeScanner
    Customizing CodeScanner
    Bugs Fixed
  Symbian OS Crash Debugger
    Concepts
      Critical Threads and Processes
      Debug Monitor
      Kernel Calls and Thread Context
      Process and Thread Priorities
      Symbian OS Memory Map
      Stacks
      Thread and Process Exit Information Summary
      Thread State Summary
      Virtual Memory and Run Addresses
    Reference
      Overview
      ARM Information
        ARM Exception Types
        ARM Fault Status Register Values
        ARM Processor Modes
      Crash Debugger Commands
        C - Display contents of Object Container
        c - Display contents of Object Container
        f - Display Kernel Fault Information
        i - Display Information for the Current Process and Thread
        m - Do a Memory Dump
        o - Display Brief DObject Information
        r - Dump Register Contents
        q - Display Full DObject Information
        X - Leave Debugger, Return to Bootloader
        x - Leave Debugger, Cold Restart ROM Image
        z - Do a Memory Dump, Skipping over Unmapped Memory
      Crash Debugger Views
        Crash Debugger Console View
        Memory Dump Options
        Object Address
      Crash Debugger Launch Configuration
    Tasks
      Call Stack
        General Points
        Finding the Stack
        Tracing through the Stack Heuristically
        Walking through the Call Stack
      Examining Kernel Items
        Kernel Objects
        Kernel Containers
      Extracting Kernel Information
        Scheduler State
        Current Thread State
        Current Process State
        Current Data Section Process
      Finding Fault Types
        Unhandled Exceptions
        Panics
      Memory
        Examining Memory
        Dumping the Contents of Classes
      Setting Up the Debug Monitor
      Using the MAKSYM Tool
  Epocwind.out Scanner Guide
    Working with Epocwind.out Scanner
    Concepts
      Symbian PlatSec
      Symbian Capability
      Symbian OS Emulation
      EPOCWIND.OUT File
      PlatSec Warning/Error Messages
      Build Configuration
    References
      PlatSec Diagnostics Console
    Tasks
      Opening the PlatSec Diagnostics Console
      Activating the PlatSec Diagnostics Console
  Carbide.c++ Plug-in Developer Guide
    Carbide SDK Overview
    Getting Started
      Background information
      Setting up your development environment
      Installing the Carbide.c++ Plug-in SDK help
      Importing the SDK example and leavescan plug-ins
      Debugging a Carbide.c++ plug-in
    Reference
      API Reference
        com.nokia.carbide.cdt.builder
        com.nokia.carbide.cdt.builder.builder
        com.nokia.carbide.cdt.builder.project
        com.nokia.carbide.cpp.sdk.core
        com.nokia.carbide.cpp.sdk.ui
        com.nokia.carbide.cpp.sdk.ui.shared
        com.nokia.carbide.cpp.project.core
        com.nokia.carbide.cpp.project.core.processes
        com.nokia.carbide.cpp.epoc.engine
        com.nokia.carbide.cpp.epoc.engine.image
        com.nokia.carbide.cpp.epoc.engine.model
        com.nokia.carbide.cpp.epoc.engine.model.bldinf
        com.nokia.carbide.cpp.epoc.engine.model.makefile
        com.nokia.carbide.cpp.epoc.engine.model.makefile.image
        com.nokia.carbide.cpp.epoc.engine.model.mmp
        com.nokia.carbide.cpp.epoc.engine.preprocessor
        com.nokia.carbide.cpp.ui
        com.nokia.carbide.template.engine
        com.nokia.carbide.templatewizard.process
        com.nokia.carbide.templatewizard.processes
      Extension Points Reference
        Wizard Template
      Changes to the Carbide API
      Custom Components
        Component Definition Element
        Component Element
        Symbian Element
        Designer Images Element
        Attributes Element
          Defining a Transient Component
        Properties Element
        Events Element
        Implementations
          JavaScript
          Wrapped Types
          JavaScript Globals
          JavaScript Libraries
          Rendering
          Common Issues and Troubleshooting
        RSS Source Mapping
          Mappings
          Resource Member Mapping
          Simple Member Mapping
          Enum Member Mapping
          Identifier Member Mapping
          Instance Mapping
          Reference Mapping
          Bitmask Mapping
          Array Member Mapping
          Fixed Mapping
          Type Mapping
          Conditional Mapping
        Source Generation
          Contributions
          Locations
          DefineLocation Element
          Cpp location segments
          Owned/Non-owned/Filtered Locations
          Template element
          Inline Element
          CDATA Tag
          Forms
          Macros
          Macro argument modifiers
          Expanding macros
          Script Reference
          Contribution Engine Routines
          Debugging
          Inheritance
      Component XSD Description
    Tasks
      Adding Items to the Carbide Menu
      Adding Global Preferences to the Carbide Extensions group
      Adding Plug-in Help
      Creating Wizard Templates
      Carbide Plug-in Overview
        Getting Carbide Project Information
        Retrieving INF and MMP Project Information
      Installing Your Own Carbide Plug-ins
    UI Designer Custom Components
      Overview
      Custom Component Architecture
      Developing New Components
      Components Menu
        Force Save
        Refresh Components
        Select Custom Component Projects...
        Configure SourceGen Debugging...
      Tutorials
        Equal Container S60
          Create Project for Equal Container Example
          Write the Component and Script Code
          Change CCoeControl’s Layout Behavior to be Dynamic
          Expose the New Container in the Design Wizard
          Create UI Design for UI Designer Project
        Vertical Label S60
          Create Project for Example Component Files
          Enable Components Menu
          Add Custom Component to UI Designer
          Create UI Designer Project to Test Custom Component
          XML Details
        Vertical Label UIQ
          Create Project for Example Component Files
          Enable Components Menu
          Add Custom Component to UI Designer
          Create UI Designer Project to Test Custom Component
          XML Details
    Legal
  Dependency Explorer
    Release Notes
    Getting Started
      Overview
      Basic walk-through
    Concepts
      Software Development Kit (SDK)
      Component
      Function
      Properties
    Tasks
      Managing SDKs
      Selecting SDKs
      Setting preferences
      Locating components
      Analysing components
      Checking component properties
      Checking imported functions
      Checking exported functions
      Finding components
      Searching for components and functions
      Viewing source files
      Viewing source file in project
      Viewing method call locations
      Exporting the report
    References
      Messages and notifications
      Toolbar
    Appendix: Static Dependencies to Dynamic Data
    Legal
  Legal
Carbide.c++ User Guide
  Release notes
  Carbide.c++ Overview
    System Requirements
    Carbide Help
    Supported Target Types
    Supported SDKs
    Updating Carbide
    Tour of the UI
    Concepts
    Application Emulator Debug Example
      1. Creating New Projects
      2. Building Projects and Symbian Components
      3. Creating a Launch Configuration
      4. Debugging a Symbian OS Program
    DLL Emulator Example
  Carbide Menus
    ABLD Actions
    Build All Configurations
    Build PKG File
    Build Symbian Component
    Clean Symbian Component
    Compile
    Context menus
    Freeze Exports
    Freeze Symbian Component
    On-Device Connections...
    Open Command Window
    Preprocess
    Run CodeScanner
    Run Leavescan
    S60 UI Designer
    Show in Explorer
    Symbian OS C++ Class
    Symbian OS C++ Project
    Symbian OS MMP File
    Toggle HW Breakpoint
    Update Projects
  Project management
    Carbide C/C++ perspective
      Carbide.c++ News view
      Executables view
      Project Explorer view
      Remote Connections view
      Symbian Project Navigator view
      Workspace Information
    Carbide.c++ preferences
      Bug Reports
      Build
      Carbide.c++ News
      Debugger
      CodeScanner
      Diagnostic Logs
      Leavescan Preferences
      Performance Investigator
      Platform Filtering Preferences
      Preprocess
      SDK Preferences
      UI Designer
      Code Styles
        Setting the Workspace Code Style
        Reformatting a Source File
    Working with SDKs
      SDK Preferences
      Adding an SDK
        Adding SDKs
      Searching for SDKs
      Viewing SDK Properties
      Editing SDK Properties
      Adding Symbian Custom Kits
    Creating projects
      Project Templates
      Creating from a Template
      Importing Projects from a BLD.INF File
      Importing Projects with Inter-Dependencies
      N-Gage Projects
    C/C++ Project and File Properties
      Carbide Build Configurations
        SIS Builder
          SIS Properties
        Environment
        Arguments
        Paths and Symbols
        ROM Builder
      Carbide Macro Settings
      Carbide Project Settings
    Building projects
      Active Build Configuration
      Setting an Active Configuration
      Adding/Removing Build Configurations
      Preprocessing Files
      Dependency Tracking
      Building Projects
      Cleaning Projects
      Build All Configurations
      Compile
      Build Symbian Component
      Clean Symbian Component
      Freeze Symbian Component
      Build PKG File
      Building a ROM Image File
      ABLD Actions
      Freeze Exports
    Resource and project editors
      AIF files
        AIF Editor
        Creating an AIF File
      Classes
        Adding Classes
        New Class Wizard
        Adding Symbian OS Classes Wizard
      INF editor
        Overview tab
        Exports tab
        BLD.INF tab
        Add / Edit Make File
        Add / Edit MMP File
      MBM/MIF files
        MBM Editor
        Creating MBM Files
        MBM/MIF Editor
      MMP files
        MMP Wizard
        MMP Editor
          Sources tab
          Libraries tab
          Options tab
          MMP File tab
    Launch configurations
      New Launch Configuration Wizard
      Debug dialog
      Launch types
        Applications
        Application TRK
        Attach to Process
        Emulation
        Sophia (STI)
        System TRK
        Trace32
      Configuration panes
        Arguments
        Common
        Debugger
        Executables
        File Transfer
        Installation
        Main
        ROM Image
        ROM Log File
        Sources
        x86 Exceptions
      Customizing launch configurations
      Filtering launch configurations
    Qt project support
      Qt development setup
        Creating Qt projects
        Importing Qt projects
      Qt C/C++ perspective
      Qt preference panel
      Qt project properties
  Debugging projects
    Running a program
    Debug perspective
      BreakPoints view
      Console view
      Debug view
      Disassembly view
      Executables view
      Variables and Expressions
        Variables view
        Viewing Variables
        Adding and Removing Global Variables
        Expressions view
        Viewing Expressions
        Editing Expressions
        Adding and Removing Expressions
      Memory view
        Working with Memory
        Opening a Memory View
        Adding a Memory Monitor
        Adding a Memory Rendering
        Removing a Memory Monitor or Rendering
        Memory Rendering Options
      Modules View
      Registers
        Registers view
        Opening a Registers View
        Changing Register Data Views
        Expanding Register Groups
        Changing Register Values
        ARM Registers
      Symbian OS Data view
        Setting the Refresh Rate
    Debugging actions
      View debugging
      Starting and Terminating
      Suspending and Resuming
      Stepping Over, Into, and Out of Routines
      Other useful commands
      Reposition the program counter
    Breakpoints
      Viewing breakpoints
      Breakpoint status indicators
      Enabling, disabling, and removing breakpoints
      Breakpoint properties
        Creating conditional breakpoints
        Creating temporary breakpoints
      Exporting breakpoints and watchpoints
      Importing breakpoints and watchpoints
      Toggle hardware breakpoints
    Watchpoints
      Viewing watchpoints
      Watchpoint status indicators
      Setting and removing watchpoints
      Enabling and disabling watchpoints
      Exporting breakpoints and watchpoints
      Importing breakpoints and watchpoints
    Variables and Expressions
      Viewing variables
        Adding and removing global variables
      Viewing expressions
        Adding and removing expressions
        Editing expressions
    On-Device Connections Overview
      Remote Connections view
      Adding, editing, and deleting connections
      Exporting remote connections
      Importing remote connections
    Emulator projects
      Setting Environment for x86 Compiler
      Unsetting Built-in Environment
    Run mode projects
      Run Mode Overview
      Auto-Targeting of Executables
      Run Mode Debug Example
        1. Preconditions to On-Device Debugging
        2. Installing an On-Device Debug Agent
        3. Creating a PKG File
        4. Creating a .SIS File
        5. Deploying Programs
        6. Launch Configuration Setup
          Debug (On-device Debugging) Overview
        7. Debugging Applications
          Debugging DLLs
          Importing a Symbian Executable
          Attaching to a Symbian OS Process
          Debugging a Symbian OS Program
          Registers
          Symbian OS Data View
      Troubleshooting
    Stop mode projects
      Stop Mode Debug Example
        1. On-Device Debugging Preconditions
        2. Trace32 Support
          Main
          Connection
          Debugger
          ROM Image
          Executables
          Source
          Commmon
        3. Sophia Target Interface Support
          Main
          Connection
          Debugger
          ROM Image
          Executables
          Source
          Commmon
        4. Using Soft Attach
      Building a ROM Image File
      ARM Registers
      Symbian OS Data View
      Toggle HW Breakpoint
    Debugging variations
      Emulation Debugging
      Debugging DLLs
      Debugging in ROM
      Importing Symbian Executables
  System Search
    System Search view
    System Search preferences
  Tips & Hints
  Creating Carbide Tools
  Shortcuts
    Microsoft Visual Studio Shortcuts
    Nokia Carbide.c++ Shortcuts
    Nokia CodeWarrior Shortcuts
  Bugs fixed
  Legal
  Release notes
  Carbide.c++ Overview
    System Requirements
    Carbide Help
    Supported Target Types
    Supported SDKs
    Updating Carbide
    Tour of the UI
    Concepts
    Application Emulator Debug Example
      1. Creating New Projects
      2. Building Projects and Symbian Components
      3. Creating a Launch Configuration
      4. Debugging a Symbian OS Program
    DLL Emulator Example
  Carbide Menus
    ABLD Actions
    Build All Configurations
    Build PKG File
    Build Symbian Component
    Clean Symbian Component
    Compile
    Context menus
    Freeze Exports
    Freeze Symbian Component
    On-Device Connections...
    Open Command Window
    Preprocess
    Run CodeScanner
    Run Leavescan
    S60 UI Designer
    Show in Explorer
    Symbian OS C++ Class
    Symbian OS C++ Project
    Symbian OS MMP File
    Toggle HW Breakpoint
    Update Projects
  Project management
    Carbide C/C++ perspective
      Carbide.c++ News view
      Executables view
      Project Explorer view
      Remote Connections view
      Symbian Project Navigator view
      Workspace Information
    Carbide.c++ preferences
      Bug Reports
      Build
      Carbide.c++ News
      Debugger
      CodeScanner
      Diagnostic Logs
      Leavescan Preferences
      Performance Investigator
      Platform Filtering Preferences
      Preprocess
      SDK Preferences
      UI Designer
      Code Styles
        Setting the Workspace Code Style
        Reformatting a Source File
    Working with SDKs
      SDK Preferences
      Adding an SDK
        Adding SDKs
      Searching for SDKs
      Viewing SDK Properties
      Editing SDK Properties
      Adding Symbian Custom Kits
    Creating projects
      Project Templates
      Creating from a Template
      Importing Projects from a BLD.INF File
      Importing Projects with Inter-Dependencies
      N-Gage Projects
    C/C++ Project and File Properties
      Carbide Build Configurations
        SIS Builder
          SIS Properties
        Environment
        Arguments
        Paths and Symbols
        ROM Builder
      Carbide Macro Settings
      Carbide Project Settings
    Building projects
      Active Build Configuration
      Setting an Active Configuration
      Adding/Removing Build Configurations
      Preprocessing Files
      Dependency Tracking
      Building Projects
      Cleaning Projects
      Build All Configurations
      Compile
      Build Symbian Component
      Clean Symbian Component
      Freeze Symbian Component
      Build PKG File
      Building a ROM Image File
      ABLD Actions
      Freeze Exports
    Resource and project editors
      AIF files
        AIF Editor
        Creating an AIF File
      Classes
        Adding Classes
        New Class Wizard
        Adding Symbian OS Classes Wizard
      INF editor
        Overview tab
        Exports tab
        BLD.INF tab
        Add / Edit Make File
        Add / Edit MMP File
      MBM/MIF files
        MBM Editor
        Creating MBM Files
        MBM/MIF Editor
      MMP files
        MMP Wizard
        MMP Editor
          Sources tab
          Libraries tab
          Options tab
          MMP File tab
    Launch configurations
      New Launch Configuration Wizard
      Debug dialog
      Launch types
        Applications
        Application TRK
        Attach to Process
        Emulation
        Sophia (STI)
        System TRK
        Trace32
      Configuration panes
        Arguments
        Common
        Debugger
        Executables
        File Transfer
        Installation
        Main
        ROM Image
        ROM Log File
        Sources
        x86 Exceptions
      Customizing launch configurations
      Filtering launch configurations
    Qt project support
      Qt development setup
        Creating Qt projects
        Importing Qt projects
      Qt C/C++ perspective
      Qt preference panel
      Qt project properties
  Debugging projects
    Running a program
    Debug perspective
      BreakPoints view
      Console view
      Debug view
      Disassembly view
      Executables view
      Variables and Expressions
        Variables view
        Viewing Variables
        Adding and Removing Global Variables
        Expressions view
        Viewing Expressions
        Editing Expressions
        Adding and Removing Expressions
      Memory view
        Working with Memory
        Opening a Memory View
        Adding a Memory Monitor
        Adding a Memory Rendering
        Removing a Memory Monitor or Rendering
        Memory Rendering Options
      Modules View
      Registers
        Registers view
        Opening a Registers View
        Changing Register Data Views
        Expanding Register Groups
        Changing Register Values
        ARM Registers
      Symbian OS Data view
        Setting the Refresh Rate
    Debugging actions
      View debugging
      Starting and Terminating
      Suspending and Resuming
      Stepping Over, Into, and Out of Routines
      Other useful commands
      Reposition the program counter
    Breakpoints
      Viewing breakpoints
      Breakpoint status indicators
      Enabling, disabling, and removing breakpoints
      Breakpoint properties
        Creating conditional breakpoints
        Creating temporary breakpoints
      Exporting breakpoints and watchpoints
      Importing breakpoints and watchpoints
      Toggle hardware breakpoints
    Watchpoints
      Viewing watchpoints
      Watchpoint status indicators
      Setting and removing watchpoints
      Enabling and disabling watchpoints
      Exporting breakpoints and watchpoints
      Importing breakpoints and watchpoints
    Variables and Expressions
      Viewing variables
        Adding and removing global variables
      Viewing expressions
        Adding and removing expressions
        Editing expressions
    On-Device Connections Overview
      Remote Connections view
      Adding, editing, and deleting connections
      Exporting remote connections
      Importing remote connections
    Emulator projects
      Setting Environment for x86 Compiler
      Unsetting Built-in Environment
    Run mode projects
      Run Mode Overview
      Auto-Targeting of Executables
      Run Mode Debug Example
        1. Preconditions to On-Device Debugging
        2. Installing an On-Device Debug Agent
        3. Creating a PKG File
        4. Creating a .SIS File
        5. Deploying Programs
        6. Launch Configuration Setup
          Debug (On-device Debugging) Overview
        7. Debugging Applications
          Debugging DLLs
          Importing a Symbian Executable
          Attaching to a Symbian OS Process
          Debugging a Symbian OS Program
          Registers
          Symbian OS Data View
      Troubleshooting
    Stop mode projects
      Stop Mode Debug Example
        1. On-Device Debugging Preconditions
        2. Trace32 Support
          Main
          Connection
          Debugger
          ROM Image
          Executables
          Source
          Commmon
        3. Sophia Target Interface Support
          Main
          Connection
          Debugger
          ROM Image
          Executables
          Source
          Commmon
        4. Using Soft Attach
      Building a ROM Image File
      ARM Registers
      Symbian OS Data View
      Toggle HW Breakpoint
    Debugging variations
      Emulation Debugging
      Debugging DLLs
      Debugging in ROM
      Importing Symbian Executables
  System Search
    System Search view
    System Search preferences
  Tips & Hints
  Creating Carbide Tools
  Shortcuts
    Microsoft Visual Studio Shortcuts
    Nokia Carbide.c++ Shortcuts
    Nokia CodeWarrior Shortcuts
  Bugs fixed
  Legal
New Bug Report
  Bug Report
    Bug Reports Preference panel
    New Bug Report or Suggestion page
    Report Summary Page
  Bug Report
    Bug Reports Preference panel
    New Bug Report or Suggestion page
    Report Summary Page
Performance Investigator User Guide
  Release notes
  Getting Started with Performance Investigator
  Software Performance
    Overview
    Software Performance
    Basic Analysis Procedure
    Server Threads Analysis
    Dynamic Binary Support Trace
    Dynamic Memory Characteristics
    Function Level Load Analysis
    Performance Measurement Methods
      Compile-Time Symbolic Information
      DFC, Delayed Function Call
      Dynamic Binary Resolution
      File System
      Interrupt Stack
      Kernel Containers
      Kernel Hook
      Link Register
      OS Thread Name and ID
      Periodic Interrupt
      Program Counter value
      Read/Write Load Characteristics
      ROFS
  Profiler
    Profiler
    Installing the Profiler
      Connecting by Bluetooth
      Connecting by Serial Interface
      Connecting by USB
    Using the Profiler
    Profiler options
      Setting Tracing options
      Setting Output Settings
      Setting Advanced options
    Trace items
      Address/Thread Trace
      Button Press Trace
      Dynamic Binary Support Trace
      Function Call Trace
      Memory Trace
      Power Usage Trace
      Thread Priority Trace
    Using the Command-line
      Profiler Settings File
  Analyzer
    Analyzer Overview
      Performance Investigator Analyzer
      Basic Operation
      Controls
      Graph views
        Thread Load
        Binary Load
        Function Load
        Function Calls
      Threshold Limits for Traced Data
    Importing Profiler Data Files
      Select Build Files for ROM
    Examining a Profiling Project
    Memory Usage
      Memory Usage view
      Memory Usage Statistics
      Memory Usage menu
    Menus
      Context Menu Options
      Save Table
      Investigator menu
      Memory Graph
      Power Graph
      Show Button Events
    Options
      Changing Button Event Information
      Changing Graph Colors
      Setting Thresholds
      Setting Time Interval
      Setting Key Press Profile
    Power Usage
      Power Usage Settings
      Power Usage Statistics
      Power Graph menu
    Using Source Lookup
    Analyzing Table Data
  Acronyms
  Bugs fixed
  Legal
  Release notes
  Getting Started with Performance Investigator
  Software Performance
    Overview
    Software Performance
    Basic Analysis Procedure
    Server Threads Analysis
    Dynamic Binary Support Trace
    Dynamic Memory Characteristics
    Function Level Load Analysis
    Performance Measurement Methods
      Compile-Time Symbolic Information
      DFC, Delayed Function Call
      Dynamic Binary Resolution
      File System
      Interrupt Stack
      Kernel Containers
      Kernel Hook
      Link Register
      OS Thread Name and ID
      Periodic Interrupt
      Program Counter value
      Read/Write Load Characteristics
      ROFS
  Profiler
    Profiler
    Installing the Profiler
      Connecting by Bluetooth
      Connecting by Serial Interface
      Connecting by USB
    Using the Profiler
    Profiler options
      Setting Tracing options
      Setting Output Settings
      Setting Advanced options
    Trace items
      Address/Thread Trace
      Button Press Trace
      Dynamic Binary Support Trace
      Function Call Trace
      Memory Trace
      Power Usage Trace
      Thread Priority Trace
    Using the Command-line
      Profiler Settings File
  Analyzer
    Analyzer Overview
      Performance Investigator Analyzer
      Basic Operation
      Controls
      Graph views
        Thread Load
        Binary Load
        Function Load
        Function Calls
      Threshold Limits for Traced Data
    Importing Profiler Data Files
      Select Build Files for ROM
    Examining a Profiling Project
    Memory Usage
      Memory Usage view
      Memory Usage Statistics
      Memory Usage menu
    Menus
      Context Menu Options
      Save Table
      Investigator menu
      Memory Graph
      Power Graph
      Show Button Events
    Options
      Changing Button Event Information
      Changing Graph Colors
      Setting Thresholds
      Setting Time Interval
      Setting Key Press Profile
    Power Usage
      Power Usage Settings
      Power Usage Statistics
      Power Graph menu
    Using Source Lookup
    Analyzing Table Data
  Acronyms
  Bugs fixed
  Legal
Qt Development User Guide
  Getting Started
  Managing Projects
  Adding Files to the Project
  Managing Resources
  Custom Designer Plugins
  What's New
  Getting Started
  Managing Projects
  Adding Files to the Project
  Managing Resources
  Custom Designer Plugins
  What's New
S60 5th Edition C++ Developer's Library v1.4
  Legal notice
  Change history and release notes
  Guide to S60 5th Ed C++ Developer's Library v1.4
    Searching and navigating the library
    Library contents
  Introduction to S60 5th Edition
    New features in S60 5th Edition
    New C++ APIs in S60 5th Edition
    Platform UID
    S60 devices
      Supported formats and device capabilities
      Display
      Keys
        Required keys
        Extra keys
        Full QWERTY keyboard
        Locking the keys and the screen
      Memory
    S60 device user experience
      Where the S60 user interface belongs
      Keypad functions
        Key presses
        Keypad tone
        Typical functions of the standard keys
        Typical full QWERTY keyboard functions
      Navigation
        Navigating in applications
        Navigation using tabs
        Hierarchical application structures
        Navigation using links
      Multitasking
      Softkeys and basic softkey configuration
        Labeling the Selection key
      Text editing
        Editing menu
        Editing indicators
        Selecting text
      S60 UI with rotation
        What is S60 UI with side softkeys
        Default layout description and the basic principles of rotation
        Interaction
          Rotation
          Basic interaction style
        Designing an application UI for the layout
          Main pane
          Status pane and the context pane
          Title pane
          Navi pane
          Signal pane
          Battery pane
          Universal indicators
          Control pane vs. softkey pane
  Getting started
    Before you start
    Tutorial 1: Environment and tools
      S60 platform SDKs
      Integrated Development Environment
      Compilers
      Command line tools
      Devices
    Tutorial 2: Creating an application
      Development and deployment steps
      To start Carbide.c++
      To develop applications for the emulator
        To create a project with a wizard
        To build an application for the emulator
        To run the application in the emulator
    Tutorial 3: Importing an existing application, description of files
      Importing HelloWorldBasic to Carbide.c++
      HelloWorldBasic folder structure
      HelloWorldBasic files
        HelloWorldBasic bld.inf
        HelloWorldBasic mmp file
        HelloWorldBasic icons make file
        HelloWorldBasic graphics files
        HelloWorldBasic backup registration file
        HelloWorldBasic .pkg file
    Tutorial 4: Deploying an application
      To choose a package file for the build
      To build an application for the mobile device
      Deploying applications to mobile devices
      Distributing your application to a wider audience
    Tutorial 5: S60 project contents
      S60 project types
      Application UIDs
      S60 project files
        Build configuration files
        Source files
        Package files
        Output files
        Installation file
    Tutorial 6: Development process
      Analysis and design
      Coding
      Building
      Testing
      Deploying
        To make an installation package
  Designing applications for S60 5th Edition
    Porting applications to S60 5th Edition
      Binary compatibility
      Designing application UIs for both touch and non-touch devices
      User experience considerations
      Mandatory changes for custom components
        Changing the platform UID
        Handling pointer events in custom controls
        Implementing support for scalable UI
        Listening for scrollbar touch events
      Additional features
        Enabling additional touch events for your application
        Checking for touch support at runtime
        Distinguishing between touch and keypad events in listboxes and grids
    Touch UI
      Touch support for common S60 components
      Finger usable UI
      Touch UI user experience
        Designing applications for touch UI
          Touch strategies
          Touch-enabled vs. touch-optimized
        Usability considerations
          Scale and positioning of controls
          Finger vs. stylus
          Sensor interaction
          Feedback
        Select and activate: two short taps
        Text fields
        Touch down and hold
        Text input
        Adaptive search
        Status pane items
        Touch-based multiple selection
    New component flags
      New flags in CEikListBox
      New flags in CEikDialog
    New observer interfaces
    Tactile feedback
    Sensor interaction
    S60 5th Edition API specifications
      Toolbar API
        Changes and release information
        Class structure for the toolbar API
        Enabling quick access to functions with a toolbar
          Constructing the toolbar
          Adding and removing toolbar items
          Accessing the toolbar from applications or application views
          Accessing toolbar items
          Handling toolbar item events
          Controlling toolbar visibility
          Showing and hiding toolbar items
          Dynamic initialization of the toolbar
          Setting toolbar properties
          Creating the toolbar extension
          Adding and removing toolbar extension items
          Accessing toolbar extension items
          Showing or hiding the toolbar extension
          Dimming or hiding toolbar extension items
      Generic button API
        Changes and release information
        Enabling touch support for buttons
          Creating generic button
          Setting button properties not specific to any state
          Using button states
          Setting properties for button states
          Handling button events
          Using long-tap events
          Using skin support in buttons
      Stylus pop-up menu API
        Changes and release information
        Displaying commands in a context menu
          Creating stylus pop-up menu
          Handling stylus pop-up menu events and commands
          Handling user command selection
          Showing and hiding stylus pop-up menu
          Adding and removing menu items
          Setting stylus pop-up menu position
          Hiding and showing stylus pop-up menu items
      Choice list API
        Changes and release information
        Choice list API class structure
        Providing a vertical list of selectable items
          Creating the choice list
          Adding items to the choice list
          Getting user selection from the choice list
          Deleting the choice list
          Showing the choice list
          Removing items from the choice list
          Setting the item selected when the choice list is opened
      Touch UI utilities API
        Changes and release information
        Touch UI utilities API class structure
        Receiving long-tap events
          Creating the long-tap detector
          Handling long-tap events
          Deleting the long-tap detector
          Enabling and disabling the long-tap detector
          Setting the time after which the long-tap event is sent
          Setting the time before the long-tap animation starts
      Title pane touch observer API
        Changes and release information
        Setting the title pane touch observer
      Tactile feedback client API
        Changes and release information
        Definitions
        Providing tactile feedback for touch events
          Using direct feedback
          Using area registry based feedback
          Removing feedback from a control
          Disabling and enabling feedback
          Querying if feedback is supported
          Managing feedback areas
          Optimizing feedback latency
          Tactile feedback implementation example
      Sensor APIs
        Changes and release information
        Definitions for the sensor APIs
        Sensor APIs class structure
        Sensor channel, data, and property declarations
        Types of sensor channels
          Accelerometer sensor channel
          Rotation sensor channel
          Orientation sensor channel
          Accelerometer double-tap sensor channel
          Proximity monitor sensor channel
          Ambient light sensor channel
          Magnetic North channel sensor
          Magnetometer XYZ sensor channel
        Using sensor data in applications
          Scanning for supported sensor channels on a device
          Finding and opening a sensor channel
          Listening for channel data
          Closing a sensor channel
          Listening for channel changes
          Getting channel properties
          Setting channel properties
          Using array properties
          Listening for channel property changes
          Scaling channel data
          Listening for channel data with conditions
          Calibrating the Magnetic North sensor channel
  Testing
    Overview of software testing
      Understanding testability
      Developing unit tests
        Black-box versus white-box testing
        Behavioral testing techniques
        Structural methods
        Using stubs and mock objects
    Testing your software
      Setting up a test project
        Tool setup
        Creating the unit test project
        Building the test and running it in the emulator
      Stubbing dependencies
      Implementing tests
      Using a code coverage tool
      TestSource.cpp
  Technology area guides
    Application and UI frameworks
      Application framework concepts
        Resources
        Registration
      Framework requirements for GUI applications
        Implementing framework requirements
      Event handling
        Commands
          Handling EEikCmdExit
        Window server events
          Key events
            Receiving key event data in your application
            Handling key events in your application
          Layout change events
          Foreground events
          Pointer events
          System events
          Application-specific events
          Other window server events
        System environment events
          Environment changes
        Domain-specific events
          Contacts database events
          Alarm server events
          World server events
      Managing resource files
        How resource files work
        Resource file structure
        Precompiled resource values available from the S60 platform
        Required resource file statements
        Optional resource file statements
        Resource string handling
        Creating registration resource files
        Defining localizable registration information
        Creating resource header files
        Resource management example: HelloWorldBasic
          helloworldbasic.rss
          HelloWorldBasic_reg.rss
      UI concepts
        Relationship between framework and applications
        Scalability
        Themes
        UI controller
        Controls
          Window owning and non-window owning controls
            Relationship between window controls
          Compound controls
          Commonly used controls
        Views
      UI architectures
        Traditional Symbian OS UI application architecture
          Constructing the UI controller in traditional architecture
          Views in traditional architecture
            Constructing views in traditional architecture
            Drawing in traditional architecture
            Compound controls in traditional architecture
          Switching views in traditional architecture
        S60 view architecture
          Constructing the UI controller in S60 view architecture
          View controller in S60 view architecture
            Constructing the view controller in S60 view architecture
            View resource statements in S60 view architecture
            Switching views in S60 view architecture
          Views in S60 view architecture
            Constructing views in S60 view architecture
            Drawing in S60 view architecture
            Compound controls in S60 view architecture
        Dialog architecture
          When to use dialog architecture
          Basic implementation
            Resources
            Constructing a dialog
          Advanced implementation
            Mixing dialog and other application architectures
      Internationalization and localization
        Locale-sensitive data types
        UI text strings
        Implementing UI text localization
    S60 UI components
      Menu
      Windows and panes
        Main pane
        Status pane
          Title pane
          Navi pane
          Signal pane
          Battery pane
          Universal indicator pane
        Control pane
          CBA buttons
            Using precompiled CBA button resources
            Defining resources for your own CBA buttons
        Scroll pane
        Layout changes in bi-directional languages
        Pop-up windows
      Presentation of text
      UI themes
      Dimming
      Lists and grids
        Highlighting
        Empty lists and grids
        List browsing
        Order of items and browsing in grids
      List types
        Menu list
        Selection list
        Markable list
        Multi-selection list
        Setting list
        Hierarchical list
        Hierarchical column list
        Forms
          Always-editable forms
          Forms without the options softkey
          Form items
      List layouts
        Column structure of lists
        List item types
        Numbered items
        Item type combinations
      Grid types
      Find pane
      Options menu
        Submenus
        Submenu indicators
        Unavailable items
        Other Options menus
        Options template
        Menu bars
          Menu bar resource statements
          Using menu sections in menu bar resource statements
      Toolbar
      Preview pop-up
      Stylus pop-up menu
      Notes
        Confirmation note
        Information note
        Warning note
        Error note
        Permanent note
        Wait note
        Progress note
      Soft notifications
        Discarding soft notifications
        Many simultaneous soft notifications
      Information pop-up
      Queries
        Confirmation query
        List query
        Grid query
        Multi-selection list query
        Data query
          Password query
          Data queries with multiple fields
        Message query
      Slider pop-up
        Volume Control pop-up
      Indicators
        Signal and battery indicators
        Universal indicators
        Indicators in the Navi pane
        Editing indicators in pop-up windows
        Soft indicators
        Operator indicator
        Application-specific indicators
    Messaging
      Messaging application services
    Multimedia
      What you need to know
      Multimedia services
      Supported codecs
      DRM-protected multimedia
      Playing DRM-protected audio content
      Using the camera in applications
        Using autofocus
        Capturing still images
        Embedding camera applications
        Displaying an image on the screen
        Capturing a video clip
        Playing a video clip
        Streaming video
        Storing and accessing an image or a video
    Communication
      What you need to know
      Mobile device connections
        Mobile connection design considerations
        Access point
        Bluetooth and infrared
      Making an IP connection
      Initializing a Bluetooth connection
      Transferring data over a Bluetooth connection
      Transferring data over an infrared connection
      Making telephone calls and retrieving device information
      Destination networks
        Establishing a connection with destination networks
          Defining connection management items
          Prompting the user to select a destination network
          Starting the connection through the destination network
        Using application-level roaming
    Browsing and downloading
      Browsing
      Downloading
    Personal Information Management (PIM)
      PIM application services
    Location
      What you need to know
      How location is determined
      Location information
      Finding the location of a mobile device
      Storing location information on a mobile device
    Security
      Planning system and software security
        Threats
        General protection principles
      Platform security architecture
        Capabilities
        Application signing
        Data caging
      Device security
        Device security mechanisms
      Application security
        Client/server communication
        Process identification
        Applications with an user interface
        Plug-ins
        Software installer
        Publish and Subscribe
        Descriptors
      Communications security
        Secure Sockets
        IPv4/IPv6 dual-stack
        Host name resolution
        Local connectivity
      Content security
        Backup and restore
        Cryptography
        Digital rights management
          OMA DRM
            Rights issuer and content issuer
            DRM rights objects
            DRM agent
            DRM content format
            OMA DRM v1.0
            OMA DRM v2.0
              Supported OMA DRM v2.0 features
              Rights object acquisition protocol
            OMA DRM v2.1
          WMDRM
      Configuring the application’s platform security settings in the emulator
  S60 C++ API reference
    Rules for API Usage
    C++ API Reference
       Quick Reference
      S60 Application Services
        Contacts Application Services
          Phonebook Data Add Edit UI API
            Classes and Definitions
              CPbkContactEditorDlg
              CPbkDataSaveAppUi
              MPbkDataSaveCallback
              MPbkEditorOkToExitCallback
              MPbkEditorOkToExitCallback.h
              PbkDataSaveAppUi.hrh
              CPbkDataSaveAppUi.h
              CPbkContactEditorDlg.h
          Phonebook Data Management API
            Classes and Definitions
              CPbkContactChangeNotifier
              CPbkContactEngine
              CPbkContactItem
              CPbkContactIter
              CPbkFieldArray
              CPbkFieldInfo
              CPbkFieldsInfo
              CPbkIdleFinder
              MPbkContactDbObserver
              MPbkFieldData
              MPbkFieldDataArray
              TPbkContactItemField
              TPbkContactItemField.h
              CPbkIdleFinder.h
              MPbkFieldData.h
              CPbkFieldsInfo.h
              CPbkContactIter.h
              CPbkContactEngine.h
              PbkIconId.hrh
              CPbkFieldInfo.h
              CPbkContactItem.h
              PbkFields.hrh
              CPbkContactChangeNotifier.h
              MPbkContactDbObserver.h
          Phonebook Fetch UI API
            Classes and Definitions
              CPbkAddressSelect
              CPbkAddressSelect::TBaseParams
              CPbkEmailAddressSelect
              CPbkEmailAddressSelect::TParams
              CPbkEmailOverSmsAddressSelect
              CPbkEmailOverSmsAddressSelect::TParams
              CPbkItemTypeSelectAddToExisting
              CPbkItemTypeSelectCreateNew
              CPbkMemoryEntryAddItemDlg
              CPbkMmsAddressSelect
              CPbkMmsAddressSelect::TParams
              CPbkMultipleEntryFetchDlg
              CPbkMultipleEntryFetchDlg::TParams
              CPbkPhoneNumberSelect
              CPbkPhoneNumberSelect::TParams
              CPbkPhoneNumberSelectBase
              CPbkPocAddressSelect
              CPbkPocAddressSelect::TParams
              CPbkSelectFieldDlg
              CPbkSingleEntryFetchDlg
              CPbkSingleEntryFetchDlg::TParams
              CPbkSingleItemFetchDlg
              CPbkSingleItemFetchDlg::TParams
              CPbkSmsAddressSelect
              CPbkSmsAddressSelect::TParams
              CPbkVideoNumberSelect
              CPbkVideoNumberSelect::TParams
              CPbkVoipAddressSelect
              CPbkVoipAddressSelect::TParams
              MPbkFetchDlgAccept
              MPbkFetchDlgSelection
              MPbkFetchKeyCallback
              CPbkPhoneNumberSelectBase.h
              CPbkMemoryEntryAddItemDlg.h
              CPbkVoipAddressSelect.h
              CPbkMultipleEntryFetchDlg.h
              CPbkSelectFieldDlg.h
              CPbkSingleEntryFetchDlg.h
              CPbkSingleItemFetchDlg.h
              CPbkEmailAddressSelect.h
              CPbkVideoNumberSelect.h
              MPbkFetchDlgSelection.h
              CPbkEmailOverSmsAddressSelect.h
              MPbkFetchCallbacks.h
              CPbkPhoneNumberSelect.h
              CPbkPocAddressSelect.h
              CPbkAddressSelect.h
              CPbkSmsAddressSelect.h
              CPbkMmsAddressSelect.h
          Phonebook Thumbnail operation API
            Classes and Definitions
              MPbkThumbnailGetImageObserver
              MPbkThumbnailGetObserver
              MPbkThumbnailSetObserver
              MPbkThumbnailOperationObservers.h
          Phonebook UI Utilities API
            Classes and Definitions
              CPbkIconInfoContainer
              CPbkViewState
              PbkIconUtils
              RPbkViewResourceFile
              TPbkIconInfo
              CPbkViewState.h
              RPbkViewResourceFile.h
              PbkIconInfo.h
          Phonebook vCard Import Export API
            Classes and Definitions
              CBCardEngine
              BCardEng.h
          Speed Dial Utility Control API
            Purpose
            API description
            Using Speed Dial Utility Control API
            Classes and Definitions
              CSpdiaControl
              SpdiaControl.h
        IM Application Services
          IM API
            Purpose
            API description
            Using IM API
            Memory and error handling
            Extensions to the API
            Glossary
            References
            Classes and Definitions
              CImConnection
              MImClient
              MImClientDetailedError
              MImConnectionObserver
              MImObserver
              imclient.h
              imerrors.h
              imconnection.h
          IM Application Launch API
            Purpose
            API description
            Using IM Application Launch API
            Memory and error handling
            Glossary
            References
            Classes and Definitions
              CImLauncherPlugin
              imlauncherplugin.h
        Location Application Services
          BLID Application Satellite Info API
            Changes
            Purpose
            API description
            Using BLID Application Satellite Info API
            Glossary
            References
            Classes and Definitions
              CSatelliteInfoUI
              CSatelliteInfoUI.h
          Landmarks UI Add Edit API
            Changes
            Purpose
            API description
            Using Landmarks UI Add Edit API
            Glossary
            References
            Classes and Definitions
              CLmkEditorDlg
              CLmkEditorDlg::TLmkEditorParams
              CLmkEditorDlg.h
          Landmarks UI Selector API
            Purpose
            API description
            Using Landmarks UI Selector API
            Glossary
            References
            Classes and Definitions
              CLmkCategorySelectorDlg
              CLmkLandmarkSelectorDlg
              TLmkItemIdDbCombiInfo
              CLmkCategorySelectorDlg.h
              TLmkItemIdDbCombiInfo.h
              CLmkLandmarkSelectorDlg.h
        Messaging Application Services
          Messaging Editor Constants API
            Classes and Definitions
              MsgEditor.hrh
          Messaging Integration API
            Changes
            Purpose
            API description
            Using Messaging Integration API
            Glossary
            References
            Classes and Definitions
              MessagingSDKCRKeys.h
              ExtendedMTMIDS.hrh
          MMS Client MTM API
            Purpose
            API description
            Using MMS Client MTM API
            Glossary
            References
            Classes and Definitions
              CMmsClientMtm
              TMmsCharacterSetLookup
              mmsconst.h
              mmserrors.h
              mmsclient.h
          Open New Message Notification API
            Classes and Definitions
              MNcnNotification
              MNcnNotification.h
          Plug-in Bio Control API
            Purpose
            API description
            Using Plugin BIO Control API
            Glossary
            Classes and Definitions
              CMsgBioControl
              CRichBio
              MMsgBioBodyControl
              MMsgBioControl
              MMsgBioControlExtension
              MMsgBioControlObserver
              MMsgBioControlScrollExtension
              MMsgBioControl.h
              MsgBioControl.h
              CRichBio.h
              MsgBioControlObserver.h
              MMsgBioControlExtension.h
              MsgBioUids.h
          Send UI API
            Purpose
            API Description
            Using the SendUi API
            Glossary
            Classes and Definitions
              CMessageAddress
              CMessageData
              CSendUi
              CSendingServiceInfo
              TSendingCapabilities
              CMessageAddress.h
              SenduiMtmUids.h
              CSendingServiceInfo.h
              CMessageData.h
              SendUi.h
              TSendingCapabilities.h
              SendUiConsts.h
        Organizer Application Services
          Clock Model Observer API
            Classes and Definitions
              MClkModelObserver
              ClkMdlObserver.h
          Common Date and Time View API
            Purpose
            API description
            Using Common Date and Time View API
            Classes and Definitions
              CClkDateTimeView
              TClkDateTimeInfo
              ClkDateTimeView.h
          Notepad Library API
            Purpose
            API description
            Using Notepad Library API
            Classes and Definitions
              CNotepadApi
              NpdApi.h
        Profile Application Services
          Profiles Engine Active Profile Settings API
            Classes and Definitions
              ProfileEngineSDKCRKeys.h
          Profiles Engine Wrapper API
            Classes and Definitions
              MProEngActiveProfileObserver
              MProEngAlertToneSeeker
              MProEngAlertToneSeekerObserver
              MProEngEngine
              MProEngNotifyHandler
              MProEngProfile
              MProEngProfileActivationObserver
              MProEngProfileName
              MProEngProfileNameArray
              MProEngProfileNameArrayObserver
              MProEngProfileObserver
              MProEngToneSettings
              MProEngTones
              ProEngFactory
              MProEngProfileActivationObserver.h
              MProEngProfileObserver.h
              ProEngFactory.h
              MProEngNotifyHandler.h
              MProEngEngine.h
              MProEngProfileName.h
              Profile.hrh
              MProEngProfile.h
              MProEngActiveProfileObserver.h
              MProEngProfileNameArray.h
              MProEngProfileNameArrayObserver.h
              MProEngTones.h
              MProEngAlertToneSeeker.h
              MProEngToneSettings.h
              MProEngAlertToneSeekerObserver.h
      S60 Platform Services
        Classic UI Services
          AIW Criteria API
            Purpose
            API description
            Using AIW Criteria API
            Glossary
            References
            Classes and Definitions
              CAiwCriteriaItem
              MAiwNotifyCallback
              AiwCommon.hrh
              AiwCommon.h
              AiwCommon.rh
          AIW Generic Parameter API
            Purpose
            API description
            Using AIW Generic Parameter API
            Glossary
            References
            Classes and Definitions
              CAiwGenericParamList
              TAiwGenericParam
              TAiwVariant
              AiwGenericParam.hrh
              AiwVariant.h
              AiwGenericParam.h
              AiwVariantType.hrh
          AIW Service Handler API
            Purpose
            API description
            Using AIW Service Handler API
            Glossary
            References
            Classes and Definitions
              CAiwServiceHandler
              AiwServiceHandler.h
          Animation API
            Classes and Definitions
              CAknBitmapAnimation
              RAknBitmapAnim
              AknBitmapAnimation.h
              aknAnim.hrh
              aknAnim.rh
          Application Framework API
            Classes and Definitions
              CAknAppUi
              CAknAppUiBase
              CAknApplication
              CAknDocument
              CAknView
              CAknViewAppUi
              CAknViewAppUi::CViewActivationItem
              CAknViewAppUi::TAknSplitViewContainer
              MAknAliasKeyCodeResolver
              AknViewAppUi.h
              aknview.h
              AknAppUi.h
              aknApp.h
              AknDoc.h
          Base Controls API
            Classes and Definitions
              CAknControl
              CEikAlignedControl
              CEikBorderedControl
              eikbctrl.h
              AknControl.h
              eikalign.h
          Buttons API
            Purpose
            API Description
            Using the Buttons API
            Glossary
            Classes and Definitions
              CEikBitmapButton
              CEikButtonBase
              CEikButtonGroupContainer
              CEikButtonGroupFactoryArray
              CEikButtonGroupStack
              CEikCba
              CEikCbaButton
              CEikCommandButton
              CEikCommandButtonBase
              CEikCommandTable
              CEikEnhancedCbaButton
              CEikInverterCommandButton
              CEikLabeledButton
              CEikMenuButton
              CEikTextButton
              CEikTwoPictureCommandButton
              EikButtonGroupFactory
              EikButtonGroupFactory::TCreationData
              TEikButtonCoordinator
              CEikCbaButton::SButtonOptions
              EIKLBBUT.H
              EIKBUTB.H
              EIKCMBUT.H
              Eikbgfty.h
              EIKMNBUT.H
              eikbtgps.h
              eikcba.h
              EIKBTGPC.H
          Calendar API
            Classes and Definitions
              MEikCalendarObserver
              eikcal.h
          Choice List API
            Classes and Definitions
              CAknChoiceList
              aknchoicelist.h
          Common File Dialogs API
            Classes and Definitions
              AknCommonDialogs
              AknCommonDialogsDynMem
              CAknCommonDialogsBase
              CAknFileNamePromptDialog
              CAknFileSelectionDialog
              CAknMemorySelectionDialog
              CAknMemorySelectionSettingItem
              CAknMemorySelectionSettingPage
              MAknFileFilter
              MAknFileSelectionObserver
              MAknMemorySelectionObserver
              CAknMemorySelectionDialog.h
              CAknFileSelectionDialog.h
              MAknFileFilter.h
              CAknMemorySelectionSettingPage.h
              CommonDialogs.rh
              MAknFileSelectionObserver.h
              CAknFileNamePromptDialog.h
              CAknCommonDialogsBase.h
              AknCommonDialogs.h
              CAknMemorySelectionSettingItem.h
              AknCommonDialogsDynMem.h
              CommonDialogs.hrh
              MAknMemorySelectionObserver.h
          Context Pane API
            Classes and Definitions
              CAknContextPane
              akncontext.h
          Dialog Shutter API
            Classes and Definitions
              AknDialogShutter
              AknDlgShut.h
          Dialogs API
            Purpose
            API description
            Using Dialogs API
            Glossary
            References
            Classes and Definitions
              CEikDialog
              EIKDIALG.H
          Directory Localizer API
            Purpose
            API description
            Using Directory Localizer API
            Glossary
            References
            Classes and Definitions
              CDirectoryLocalizer
              DirectoryLocalizer.rh
              CDirectoryLocalizer.h
          Document handler API
            Classes and Definitions
              CDocumentHandler
              DocumentHandler.h
          Editors API
            Purpose
            API description
            Using the Editors API
            Glossary
            Classes and Definitions
              CAknCcpuSupport
              CAknEdwinState
              CAknIntegerEdwin
              CAknIpFieldEditor
              CAknLocationEditor
              CAknNumericEdwin
              CAknNumericSecretEditor
              CAknUnitEditor
              CEikDateEditor
              CEikDurationEditor
              CEikEdwin
              CEikFixedPointEditor
              CEikFloatingPointEditor
              CEikGlobalTextEditor
              CEikMfne
              CEikMfneField
              CEikMfneNumber
              CEikMfneSeparator
              CEikMfneSymbol
              CEikMfneSymbol::CItem
              CEikNumberEditor
              CEikRangeEditor
              CEikRichTextEditor
              CEikSecretEditor
              CEikTTimeEditor
              CEikTimeAndDateEditor
              CEikTimeEditor
              CEikTimeOffsetEditor
              MAknEdStateObserver
              MAknMfneCommandObserver
              MEikCcpuEditor
              MEikEdwinObserver
              MEikEdwinSizeObserver
              MEikRichTextEditorParserObserver
              SAknRgb
              TAknEditorCaseState
              CAknEdwinState::SEditorCbaState
              SEdwinFindModel
              SEikDegreesMinutesDirection
              SEikRange
              EIKGTED.H
              aknnumed.h
              EIKEDWOB.H
              AknLocationEd.h
              EIKEDWIN.H
              Aknnumseced.h
              AknNumEdwin.h
              aknedstsobs.h
              aknuniteditor.h
              aknipfed.h
              EikCcpu.h
              EIKRTED.H
              Aknedsts.h
              AknMfneCommandObserver.h
              EIKSECED.H
              EIKFPNE.H
              EIKMFNE.H
          Error UI API
            Classes and Definitions
              CErrorUI
              ErrorUI.h
          Fonts API
            Classes and Definitions
              AknFontAccess
              CAknLayoutFont
              TAknTextDecorationMetrics
              aknfontaccess.h
              AknTextDecorationMetrics.h
              AknLayoutFont.h
          Form API
            Purpose
            API description
            Using Form API
            Glossary
            References
            Classes and Definitions
              CAknForm
              AknForm.h
          Generic Button API
            Classes and Definitions
              CAknButton
              CAknButtonState
              AknButton.h
          Grids API
            Purpose
            API description
            Using Grids API
            Glossary
            Classes and Definitions
              CAknColourSelectionGrid
              CAknGMSPopupGrid
              CAknGMSStyleGrid
              CAknGMSStyleGridView
              CAknGrid
              CAknGridM
              CAknGridView
              CAknGridView::SGrid
              AknGMSStyleGrid.h
              akngridview.h
              akncolourselectiongrid.h
              akngrid.h
              akngridm.h
          Hierarchical Lists API
            Changes
            Purpose
            Constraints
            API description
            Using the Hierarchical Lists API
            Glossary
            References
            Classes and Definitions
              CAknSingleColumnStyleTreeList
              CAknSingleStyleTreeList
              CAknTreeList
              MAknCustomTreeOrdering
              MAknTreeListObserver
              aknhlistpanic.h
              aknsinglecolumnstyletreelist.h
              akncustomtreeordering.h
              aknsinglestyletreelist.h
              akntreelist.h
              akntreelistconstants.h
              akntreelistobserver.h
          Hotkeys API
            Classes and Definitions
              CEikHotKeyTable
              SEikHotKey
              eikhkeyt.h
          Images API
            Classes and Definitions
              CEikImage
              EIKIMAGE.H
          Indicators API
            Classes and Definitions
              CAknIndicatorContainer
              MAknEditingStateIndicator
              AknEditStateIndicator.h
              AknIndicatorContainer.h
          Info Popup Note API
            Classes and Definitions
              CAknInfoPopupNoteController
              MAknInfoPopupNoteObserver
              AknInfoPopupNoteController.h
          Information Preview Popup API
            Purpose
            API description
            Using Information Preview Popup API
            Glossary
            References
            Classes and Definitions