EN | DE

Introduction

The m Native Module Interface (NMI) specifies how m interacts with modules written entirely in C++ for Symbian OS.

Each native module corresponds to a ("polymorphic") dynamic link library (DLL) in Symbian OS. This document describes the conventions imposed by the m native module interface, and how native code interacts with m's runtime system.

To write native modules, the NMI Software Development Kit (SDK) must be installed. See appendix * (). Note that the SDK for Symbian only contains an ARMI runtime library. Linking and testing in the emulator is not supported.

This manual is organized as a tutorial, explaining each step of writing, compiling and installing a native module.

Throughout this manual, two native modules are developed:

  1. A module accessing the Symbian "world server", a database of cities and countries built into Symbian devices. This example shows the basic concepts of a native module: how functions are declared and implemented, and how m data is accessed and created.
  2. A module accessing the Symbian "alarm server", with elementary functions to manipulate alarms and to wait for the next due alarm. This example shows how to deal with asynchronous functions and how to add a timeout to such a function.
The complete source for the two modules developed is also part of the SDK.

Most of the information applies to Symbian 2nd Edition and Symbian 3rd Edition. Where there are differences, they are marked accordingly.


© 2004-2008 airbit AG, CH-8704 Herrliberg
Document AB-M-NMI-658
Navigation
Skip Navigation Links.