×
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
86 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.

×