Archived:Creating dependencies to Open C components
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot change of template (Template:KnowledgeBase) - now using Template:ArticleMetaData) |
|||
| Line 3: | Line 3: | ||
[[Category:Technical Solution]] | [[Category:Technical Solution]] | ||
{{KBTS}} | {{KBTS}} | ||
| − | {{ | + | {{ArticleMetaData |
|id=TSS000698 | |id=TSS000698 | ||
|platform=S60 3rd Edition<br>S60 3rd Edition, FP1<br>S60 3rd Edition, FP2<br>S60 5th Edition | |platform=S60 3rd Edition<br>S60 3rd Edition, FP1<br>S60 3rd Edition, FP2<br>S60 5th Edition | ||
| Line 11: | Line 11: | ||
|creationdate=June 25, 2007, updated December 17, 2008 | |creationdate=June 25, 2007, updated December 17, 2008 | ||
|keywords=n/a | |keywords=n/a | ||
| + | |||
| + | |sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) --> | ||
| + | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| + | |sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | ||
| + | |devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) --> | ||
| + | |signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities=<!-- Capabilities required (e.g. Location, NetworkServices.) --> | ||
| + | |author=[[User:Technical writer 2]] | ||
}} | }} | ||
Revision as of 14:14, 25 June 2011
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

