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

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×