 |
|
|
|
This is a “hands on” course aimed at developers new to C++ programming for the
Symbian OS. It covers the following areas: development tools, application
development, E32 User Library, resource management, descriptors, arrays, file
server, stream store, active objects and client server architecture.
The Essentials course explores the essential programming techniques required by
all Symbian OS developers and acts as a foundation course to the more
specialised Application UI and Application Engines courses. Details of these
courses are available on request.
Skills Gained
After completing this comprehensive training, you will have the necessary skills
to:
- Develop simple programs for emulated environments and target devices
- Use Symbian OS development tools competently
- Debug and test Symbian OS code
- Understand the functionality of the fundamental components of the OS
- Use the Symbian OS memory management model
- Use descriptors, arrays and stream stores
- Implement an active object framework in simple applications and understand its
relationship to the Symbian OS client server architecture
|
|
|
 |
- Introduction to the Symbian platform
- Key features
- Key platform components and their organisation
- Application structure: Engines and UIs
- Overview of Symbian OS Development – DevKits, CustKits and SDKs: what they’re
used for.
- EPOC Development Tools
- DevKit, CustKit, SDK installation, usage and documentation
- Basic CodeWarrior commands
- Symbian platform build tools
- Unique Identifiers
- Differences between target and emulated platforms
- Application Development
- Building programs: GUI vs. console apps
- Using simple programs as templates
- Debugging and testing techniques
- Special Symbian OS coding conventions
- System Structure
- Architecture and implications
- Kernel mode v user mode operation
- Types of function call (user, executive and server requests)
|
|
- Resource Management
- Overview of memory leaks
- Detecting memory leaks using the memory leak and alloc failure tools
- Two phase construction pattern
- Exeption handling using TRAPD
- Using the cleanup stack for resource management
- Descriptors
- Motivation for Descriptors (c.f. C Strings)
- Descriptor Classes and their key features
- Arrays
- Dynamic array overview
- Use of Segmented vs. Flat arrays
- Arrays for fixed/variable sized elements
- Active Objects
- Why AOs
- Life cycle of AOs
- CActive and CActiveScheduler classes
- Implementing simple AOs
- Using Servers
- Client Server Architecture overview
- Sessions and sub-sessions
- Associated cleanup issues
- File Server and Stream Store
- Using file server sessions
- Basic direct stream store functionality
- Overview of different stream stores
|
|
|
 |
 |
 |
- For participants to gain a wide understanding of the Symbian platform and
practical experience of essential Symbian OS programming issues.
|
 |
 |
 |
- The course is designed for new Symbian OS developers who have a reasonable
understanding of OO and C++ in particular. While the essential basics of
Metrowerk’s CodeWarrior intergrated development environment is covered on the
course, previous familiarity is beneficial.
|
 |
 |
 |
|
|
|
|
|
|
|
|