×
Namespaces

Variants
Actions
(Difference between revisions)

Archived:Creating dependencies to Open C components

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Merge KB into wiki)
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 FP1]]
+
{{Archived|timestamp=20120313105202|user=roy.debjit| }}
__NOTOC__
+
[[Category:Symbian C++]][[Category:Base/System]][[Category:Open C/C++]][[Category:S60 3rd Edition (initial release)]][[Category:S60 3rd Edition FP1]]
__NOEDITSECTION__
+
 
+
{{KBTS}}
+
{{ArticleMetaData
+
|id=TSS000698
+
|platform=S60 3rd Edition<br>S60 3rd Edition, FP1<br>S60 3rd Edition, FP2<br>S60 5th Edition
+
|devices=All (S60)
+
|category=Open C
+
|subcategory=Base/System, SW Installation
+
|creationdate=June 25, 2007, updated December 17, 2008
+
|keywords=n/a
+
  
 +
{{ArticleMetaData <!-- v1.2 -->
 
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 
|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]]) -->
 
|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]) -->
+
|devices= All (S60)
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
+
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
+
|platform= S60 3rd Edition<br>S60 3rd Edition, FP1<br>S60 3rd Edition, FP2<br>S60 5th Edition
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices.) -->
+
|devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) -->
|author=[[User:Technical writer 2]]
+
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 +
|signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 +
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 +
|keywords= n/a
 +
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|translated-from-title= <!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by= <!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= <!-- After significant update: [[User:username]]-->
 +
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 +
|creationdate= June 25, 2007, updated December 17, 2008
 +
|author= [[User:Technical writer 2]]
 +
<!-- The following are not in current metadata -->
 +
|subcategory= Base/System, SW Installation
 +
|id= TSS000698
 
}}
 
}}
  
{{Archived|timestamp=20120313105202|user=roy.debjit| }}
 
 
    
 
    
 
==Description==
 
==Description==
Line 51: Line 57:
 
In the above example, the dependencies are created to the four OpenC components:
 
In the above example, the dependencies are created to the four OpenC components:
  
* <tt>’Symbian OS STDIOSERVER’ (installed from stdioserver.sis)</tt>
+
* {{Icode|’Symbian OS STDIOSERVER’ (installed from stdioserver.sis)}}
* <tt>’Symbian OS PIPS’ (pips_s60_wp.sis)</tt>
+
* {{Icode|’Symbian OS PIPS’ (pips_s60_wp.sis)}}
* <tt>’Open C LIBSSL’ (openc_ssl.sis)</tt>
+
* {{Icode|’Open C LIBSSL’ (openc_ssl.sis)}}
* <tt>’Open C GLIBRARY’ (openc_glib.sis)</tt>
+
* {{Icode|’Open C GLIBRARY’ (openc_glib.sis)}}
 
<br>
 
<br>
  

Revision as of 10:42, 14 June 2012

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.


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: User:Technical writer 2 (June 25, 2007, updated December 17, 2008)
Last edited: hamishwillee (14 Jun 2012)


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