×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Creating dependencies to Open C components

From Nokia Developer Wiki
Jump to: navigation, search
extkbeditor1 (Talk | contribs)
m
Forum Nokia KB (Talk | contribs)
Line 1: Line 1:
{{KBTS}}
 
 
__NOTOC__  
 
__NOTOC__  
 
__NOEDITSECTION__
 
__NOEDITSECTION__
 
 
[[Category:Technical Solution]]
 
[[Category:Technical Solution]]
 
+
{{KBTS}}
 
{{KnowledgeBase
 
{{KnowledgeBase
 
|id=TSS000698
 
|id=TSS000698
|platform=S60 3rd Edition<br>S60 3rd Edition, FP1
+
|platform=S60 3rd Edition<br>S60 3rd Edition, FP1<br>S60 3rd Edition, FP2<br>S60 5th Edition
|devices=
+
|devices=All (S60)
|category=Symbian C<nowiki>++</nowiki>
+
|category=Open C
|subcategory=Base & System, SW installer
+
|subcategory=Base/System, SW Installation
|creationdate=June 25, 2007
+
|creationdate=June 25, 2007, updated December 17, 2008
|keywords=
+
|keywords=n/a
 
}}
 
}}
  
== Overview ==
 
Creating dependencies to Open C components
 
  
== Description ==
+
==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.<br>
+
 
To create dependencies to other components by declaring the required components in the PKG file:<br>&nbsp;&nbsp;(componentUID), version-range, <nowiki>{</nowiki>"Component name for lang 1","Component name for lang n",...<nowiki>}</nowiki><br>
+
To ensure that an Open C application will work, it is worthwhile to create  
For Open C plug-in components, the dependencies can be declared as follows:<br>&nbsp;&nbsp;(0x20009a80), 1, 0, 0, <nowiki>{</nowiki>"Symbian OS PIPS"<nowiki>}</nowiki><br>&nbsp;&nbsp;(0x20009aa2), 1, 0, 0, <nowiki>{</nowiki>"Symbian OS STDIOSERVER"<nowiki>}</nowiki><br>&nbsp;&nbsp;(0x10281f34), 1, 0, 0, <nowiki>{</nowiki>"Open C LIBSSL"<nowiki>}</nowiki><br>&nbsp;&nbsp;(0x10281f2c), 1, 0, 0, <nowiki>{</nowiki>"Open C GLIBRARY"<nowiki>}</nowiki><br>In the above example, the dependencies are created to the four OpenC components:<br>&nbsp;&nbsp;<nowiki>’</nowiki>Symbian OS STDIOSERVER<nowiki>’</nowiki> (installed from stdioserver.sis),<br>&nbsp;&nbsp;<nowiki>’</nowiki>Symbian OS PIPS<nowiki>’</nowiki> (pips_s60_wp.sis),<br>&nbsp;&nbsp;<nowiki>’</nowiki>Open C LIBSSL<nowiki>’</nowiki> (openc_ssl.sis),<br>&nbsp;&nbsp;<nowiki>’</nowiki>Open C GLIBRARY<nowiki>’</nowiki> (openc_glib.sis),<br>Dependencies may also be targeted to specific component versions:<br>&nbsp;&nbsp;(0x0123BABE), 1, 2, 0 <nowiki>~</nowiki> *, *, *, <nowiki>{</nowiki>"ComponentName"<nowiki>}</nowiki> ; Version greater than or equal to 1.2.0 is required<br>&nbsp;&nbsp;(0x0123BABE), 1, 2, 0 <nowiki>~</nowiki> 2, 0, 0, <nowiki>{</nowiki>"ComponentName"<nowiki>}</nowiki> ; Version from 1.2.0 to 2.00 required<br>&nbsp;&nbsp;(0x0123BABE), *, *, * <nowiki>~</nowiki> 2, 0, 0, <nowiki>{</nowiki>"ComponentName"<nowiki>}</nowiki> ; Any older version up to (and including) 2.0.0 is required
+
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:
 +
 
 +
<code>
 +
  (componentUID), version-range, {"Name for lang 1","Name for lang n",...}
 +
</code><br>
 +
 
 +
For Open C plug-in components, the dependencies can be declared as follows:
 +
 
 +
<code>
 +
  (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"}
 +
</code>
 +
 
 +
In the above example, the dependencies are created to the four OpenC components:
 +
 
 +
* <tt>’Symbian OS STDIOSERVER’ (installed from stdioserver.sis)</tt>
 +
* <tt>’Symbian OS PIPS’ (pips_s60_wp.sis)</tt>
 +
* <tt>’Open C LIBSSL’ (openc_ssl.sis)</tt>
 +
* <tt>’Open C GLIBRARY’ (openc_glib.sis)</tt>
 +
<br>
 +
 
 +
Dependencies may also be targeted to specific component versions:
 +
 
 +
<code>
 +
  (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
 +
                                                    ; required
 +
</code><br>
 +
 
 +
From 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:
 +
 
 +
<code>
 +
  IF exists(z:\system\install\openc_stdlibs_stub.sis)
 +
  ; Open C libraries are located on ROM
 +
  ENDIF
 +
</code>
 +
 
  
 
[[Category:Symbian C++]][[Category:Base/System]][[Category:Open C/C++]] [[Category:S60 3rd Edition]] [[Category:S60 3rd Edition, Feature Pack 1]]
 
[[Category:Symbian C++]][[Category:Base/System]][[Category:Open C/C++]] [[Category:S60 3rd Edition]] [[Category:S60 3rd Edition, Feature Pack 1]]

Revision as of 17:37, 17 December 2008

Template:KBTS

Article Metadata
Tested with
Devices(s): All (S60)
Compatibility
Platform(s): S60 3rd Edition
S60 3rd Edition, FP1
S60 3rd Edition, FP2
S60 5th Edition
S60 3rd Edition FP1
S60 3rd Edition (initial release)
Article
Keywords: n/a
Created: (June 25, 2007, updated December 17, 2008)
Last edited: Forum Nokia KB (17 Dec 2008)


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
 ; required

From 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
118 page views in the last 30 days.
×