Handling platform-specific issues

PODS strives to make it as easy as possible to build a POD in the same cross-platform way as M-Business Client itself is built, expanding on the technique used for years on Palm. Typically you write the actual code of your POD as pure portable code, then link in a platform-specific source file. The platform-specific source file is named podsstartup<platform>.c, where <platform> is replaced by palm, win, or epoc (and for EPOC, the extension is .cpp instead of .c).

If your code, including PODSPodNew() and the actual implementation of your POD's objects, follows all the rules for all the platforms, and uses no platform-specific constructs, it should work on all platforms without any modification other than changing the following linked-in file: podsstartup<platform>.c. The resulting implementation will then be the correct one for the target platform. See Implementing the PODSPodNew( ) function and Implementing the PODSObject object.

Different platforms have different rules that you must follow and different issues that you must deal with to ensure that your POD works properly on the target device. These are described in the following sections. The most critical platform-specific issues are summarized in Handling platform-specific issues.

Table 1. Summary of critical platform-specific issues

Platform

Critical issues

Palm OS devices

  • No writable global variables

  • Extremely limited heap memory; use storage memory whenever possible

  • No support for double-byte character sets.

See Building PODS for Palm OS devices.

Microsoft OS devices

  • Supports double-byte character sets


Building PODS for Palm OS devices
Building PODS for Microsoft OS devices