Archived:Creating dependencies to Open C components
debjit.roy
(Talk | contribs) (Debjit.roy -) |
hamishwillee
(Talk | contribs) m (Text replace - "Category:S60 3rd Edition, Feature Pack 1" to "Category:S60 3rd Edition FP1") |
||
| Line 1: | Line 1: | ||
| − | [[Category:Technical Solution]][[Category:Symbian C++]][[Category:Base/System]][[Category:Open C/C++]][[Category:S60 3rd Edition]][[Category:S60 3rd Edition | + | [[Category:Technical Solution]][[Category:Symbian C++]][[Category:Base/System]][[Category:Open C/C++]][[Category:S60 3rd Edition]][[Category:S60 3rd Edition FP1]] |
__NOTOC__ | __NOTOC__ | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
Revision as of 08:03, 9 May 2012
Article Metadata
Tested with
Compatibility
S60 3rd Edition, FP1
S60 3rd Edition, FP2
S60 5th Edition
Article
Description
To ensure that an Open C application will work, it is worthwhile to create dependencies to any Open C plug-in components that are required to run the application. This way the user will be warned during installation if Open C libraries are not present in the device.
Solution
Creating dependencies to other components is done by declaring the required components in the PKG file:
(componentUID), version-range, {"Name for lang 1","Name for lang n",...}For Open C plug-in components, the dependencies can be declared as follows:
(0x20009a80), 1, 0, 0, {"Symbian OS PIPS"}
(0x20009aa2), 1, 0, 0, {"Symbian OS STDIOSERVER"}
(0x10281f34), 1, 0, 0, {"Open C LIBSSL"}
(0x10281f2c), 1, 0, 0, {"Open C GLIBRARY"}In the above example, the dependencies are created to the four OpenC components:
- ’Symbian OS STDIOSERVER’ (installed from stdioserver.sis)
- ’Symbian OS PIPS’ (pips_s60_wp.sis)
- ’Open C LIBSSL’ (openc_ssl.sis)
- ’Open C GLIBRARY’ (openc_glib.sis)
Dependencies may also be targeted to specific component versions:
(0x0123BABE), 1, 2, 0 ~ *, *, *, {"ComponentName"} ; Version greater than or
; equal to 1.2.0 required
(0x0123BABE), 1, 2, 0 ~ 2, 0, 0, {"ComponentName"} ; Version from 1.2.0 to
; 2.00 required
(0x0123BABE), *, *, * ~ 2, 0, 0, {"ComponentName"} ; Any older version up to
; (and including) 2.0.0
; requiredFrom S60 3rd Edition, Feature Pack 2 onwards, Open C libraries are part of the S60 platform and therefore always included in the device software builds. It is possible to check if the Open C libraries are located on the ROM (Z: drive) during installation using the following IF statement:
IF exists(z:\system\install\openc_stdlibs_stub.sis)
; Open C libraries are located on ROM
ENDIF

