SDK API Plug-in
Article Metadata
Code Example
Article
As a response to the frequent requests expressed by the 3rd party developers for more internal APIs to be released, Nokia Developer is providing the Accessing internal platform APIs through the API Partnering Program process through which any developer can apply for access to the APIs needed to implement a given functionality. Whether the request is approved or not it all depends on the business justification provided and the current status of the APIs ( binary compatibility breaks, API deprecation, security considerations ... )
The receiver of the API should understand that despite the initial testing, which is intended to show that the API works on the targeted device, no guarantees can be given with regards to the binary compatibility or the availability of the API across platform version or even within devices released based on the current platform version.
As the number of processed API Partnering requests grew, the decision was made that some of the partnered APIs are released to the whole developer community. However, due to the above mentioned binary compatibility issues the release was made without any marketing campaign and the API Packages were released in archived mode.
The following very important message accompanies the plug-in and is also included in each API's release notes, please read carefully:
- Nokia is not giving any binary compatibility promise for these APIs; neither between platform versions or within a platform version.
- You must test your application with each device that the application can be installed on. This is needed to ensure the best possible user experience. To prevent application installation on other than tested devices, define the Product ID(s) (also known as Machine UID) in the .pkg file. More information can be found in the document S60 Platform: Identification Codes available on the Nokia Developer website.
The API plug-in package is also covered by a click through Limited License Agreement (LLA), the content of which is also included in the package. The use of the API included in the API Plug-in assumes that the LLA is implicitly accepted.
Currently the following API Plug-in packages are available:
Contents |
S60 3rd Edition SDK, MR (Symbian C++)
- Package URL: Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, MR
- Current version: 5.43
- Included APIs: 41
The following APIs are included:
S60 3rd Edition SDK, Feature Pack 1 (Symbian C++)
- Package URL: Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, supporting Feature Pack 1
- Current version: 2.5
- Included APIs: 42
The following APIs are included:
Supplementary packages for API Plug-in for the S60 3rd Edition SDK for Symbian OS, for C++, supporting Feature Pack 1
- Package URL: S60 3rd Ed, FP1 API Plug-in Pack - Supplementary
Contents:
| Tuner Utility API (new) | MMFDevSound API (updated with WINSCW libraries) | SIM Utils API (File:SIMUtilsAPI 3x 50.zip) |
S60 3rd Edition SDK, Feature Pack 2 (Symbian C++)
- Package URL: Extensions plug-in package for S60 3rd Edition SDK for Symbian OS, for C++, supporting Feature Pack 2
- Current version: 1.2
- Included APIs: 48
The following APIs are included:
Supplementary packages for API Plug-in for the S60 3rd Edition SDK for Symbian OS, for C++, supporting Feature Pack 2
- Package URL: S60 3rd Ed, FP2 API Plug-in Pack - Supplementary
Contents:
| Radio Utility API (new) | SIM Utils API (File:SIMUtilsAPI 3x 50.zip) |
S60 5th Edition SDK (Symbian C++)
Supplementary packages for API Plug-in for the S60 5th Edition SDK for Symbian OS, for C++
- Package URL: S60 5th Edition API Plug-in Pack - Supplementary
Contents:
| Radio Utility API (new) | MMFDevSound API (ARMV5 + WINSCW libraries) | SIM Utils API (File:SIMUtilsAPI 3x 50.zip) |
*** - Contains a SIS file compatible only with Nokia devices.
Symbian^3 and later (Symbian C++)
No SDK API plugins are available or planned for the Symbian^3 SDK (or later).
We highly recommend that developers restrict themselves to Qt, Qt Mobility or public Symbian C++ APIs. With the current rapid release cycle for Symbian^3 the risk that unsupported APIs will break between releases is high.
If functionality from SDK API plugins is required on Symbian^3 developers can request access through a technical support case or can roll out their own solutions using the PDK (available from http://symbian.nokia.com/). In either case, there remain no guarantees of compatibility through device updates and developers will need to rigorously retest APIs between releases.
FAQ
- Question: The API I am using is not working on some devices. Should I report this as a bug against the platform?
- Answer: It is likely that this is due to a scheduled change in API's implementation, however, if you see the bug as also affecting the firmware components then the best approach would be to report it.
- Question: Will there be an announcement that a BC break was introduced in one of the S60 Platform builds if it affects one of the APIs from the plug-in?
- Answer: This kind of notification will be provided on best effort bases.
- Question: The APIs included in the plug-in are poorly documented. Where can I find better documentation?
- Answer: As the APIs were not intended for publishing there is no SDK level documentation available for them. These wiki pages are intended to compensate this documentation gap.
- Question: Are there any example applications available for these APIs?
- Answer: The only API that includes an example application is the Audio Proxy Server. More examples will be added to this wiki page as they will become available. You are of course welcome to contribute.
- Question: One of the existing APIs solves partly my problem but for a full solution I need access to another internal API. Can you provide that API in the same plug-in?
- Answer: Each API has been released with a specific use case in mind. If you need some other API to accomplish your task, it is likely that you are outside the intended use case and the only solution for you is the Accessing internal platform APIs through the API Partnering Program process. Please note that if the dependency is on a Symbian owned API, you will have to contact Symbian Ltd. for requesting the API.
- Question: The API I need requires manufacturer granted capabilities. Are these capabilities going to be granted to me?
- Answer: The standard process for requesting manufacturer approved capabilities applies for these APIs too.
- Question: Are you publishing all the frequently requested APIs in these plug-ins?
- Answer: Only the APIs which are considered stable enough and of wide interest are released in this plug-in. A special case is the API needed for creating Active Idle plug-ins as though it otherwise meets the criteria for being released in this plug-in it also requires for the developed 3rd party plug-in to be enabled in the firmware (i.e. firmware variant creation) and this makes the API unusable for most developers.
- Question: Where can I find the WINSCW/GCCE libraries for these APIs?
- Answer: The libraries included in this package are built at a later date that the public SDK. To speed up the release date and to avoid SDK incompatibilities it was decided that the WINSCW libraries will not be published. For the GCCE platform the ARMV5 libraries are used seamlessly.
- Question: Will these APIs work in ALL S60 devices, regardles of the manufacturer?
- Answer: These API have been tested on a limited set of Nokia devices and there is no binary compatibility promise given even for them. They might work on other devices too but developers are expected to perform thorough testing befor distributing applications using these API. Please note also the APIs marked with ***, they can only be used after installing binaries on the phone and those binaries are currently only available for Nokia devices.


No comment here? Nobody (dis)likes this API package? :)
ltomuta 13:30, 26 February 2008 (EET)
Could we have a short note about how to install it?
I second that. I've got a bunch of zip files - now what? No install docs on the download page or in master zip file. In the zip files inside the zip, there is a README.txt with "Copy this archive to EPOCROOT and unzip." Except that doesn't work. I get a bunch of directories with the API name and underneath that there's an epoc32 directory, which I'm guessing is supposed to be up one level. Can I just manually copy all the files?
Contents
How to solve this problem??
Hi
platform - S60_3rd_FP2_SDK
To do live recording/authoring, S60_3rd_Ed_SDK_FP2_API_Plug-In_Pack_v1_1.zip was unzipped and installed but still are some files which are missing like mmf\mmfcontroller.h, mmf\mmfutilities.h etc etc. These files are required by sounddevice.h which contains CMMFDevsound object which I am using for live audio recording.
Is there any other extension plugin which i need to install to acommplish this task.
Thanks
SyncML missing!
Why is the SyncML Client API not included in "API Plug-in for the S60 3rd Edition SDK for Symbian OS, for C++, supporting Feature Pack 2"?
Thanks, Alex Birkett
MDFDevVideo Record and Playback API
Platform: S60 3rd FP2; Extension : version 1.2; Problem : The corresponding plugin provided by Nokia does not contain the necessary header file epoc32/include/mmf/devvideo/devvideoconstants.h, which is used by other header files in the plugin.
PS Keys for Call Status & Indicators API for S60 3rd MR version
I just updated the article with internal referencing but I feel that it is pointing to wrong link, isn't it? Please click on "History" and see the revisions. --kiran10182 14:13, 2 March 2009 (EET)
missing tvoutengine.lib from 5th Edition Plugin Pack
Hi,
Headers and library of tvoutengine api are missing from the 5th Edition Plugin pack. Is there a way to get the tvoutengine.lib file? I can probably get the header files from eclipse Documentation plugin for this API
The Article informs us about the API plug-ins used in differnt S60 versions. The basic concept of API plug-ins is clearly described and where to use them is also mentioned. The different extension API plug-ins for S60 3rd edition MR , S60 3rd Edition FP1, S60 3rd edition FP2 and S60 5th edition are given in this article. Each API plug-in mentioned is having a link, so that you can get detailed information about that particular plug-in.
The article explains API plug-ins and mentions extention API plug-ins for almost all S60 editions. So it becomes essential for both beginners and experienced people.--deepikagohil 17:25, 6 September 2009 (UTC)
Not able to use Item finder API for 5th Edition Plugin Pack
Hi,
I am not able to use the Item finder APIs, tried sections from "API Plug-in for the S60 5th Edition SDK for Symbian OS, for C++" also. i have open new discussion as http://www.developer.nokia.com/Community/Discussion/showthread.php?179564-CAknItemFinder-not-working-for-S60-5th-Ed&p=642344#post642344. Please rectify and help.
-Jupitar
Really useful article to know how to download SDK Plug-in API that is provided by forum nokia and how to use each API. Since forum nokia is providing API that is not part of the public SDK, we have to download it from link given in this article. The article provides downloadable link for each version of SDK from S60 3rd Edition MR to S60 5th Edition SDK. Also link provided to each API , that is part of API plug-in, will help developer to implement it easily.
--savaj 12:09, 28 September 2009 (UTC)
Problem Installing the SDK Api Plug-in
Hi, I've had soome trouble trying to use the SDK Api Plugin.
wich requires the Bluetooth Engine Api found un the SDK Api Plug-in. When I compile the QBluetooth library I get some, a lot, errors regarding the Bluetooth Engine files been not found.
So I guess I didnt installed em correctly or missed some configuration, I hope u can help me.
As the file inside the zip states Ive copied everything inside EPOC32 folder into the same folder corresponding to my SDK. Im trying to use BluetoothEngineApi, which is designed for S60 3rd edition, so Ive placed the files at C:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32
Is there anything else neede to do? I did this and cant use the BluetoothEngine api files.
- OmarGN
Where is qos3gpp.lib?
Hi, I've had some trouble trying to use QoS class.
I am interested in VoIP QoS and found that there is QoS class in "Symbian OS v9.3 » Symbian OS reference » C++ component reference » Networking QOS3GPP » CSubConQosR99ParamSet" , which marked with Location: Qos3GPP_subconparams.h Link against: qos3gpp.lib
But I can not find the qos3gpp.lib? Does someone know how to get it?
Shweta 912 - SW Installer Launcher API
Is there any Plug-in available for Symbian^3?shweta_912 09:01, 21 July 2011 (EEST)
Paquier -
Where can I find this plug-in for Symbian^3?paquier 11:22, 11 November 2011 (EET)
Hamishwillee - Shweta 912, Paquier
There is no specific plugin. We highly recommend you don't use these APIs for Symbian^3 because our update cycle is very fast and there is no guarantee that "unsupported" APIs will continue to work. Instead you should use Qt/Qt Mobility APIs where possible. Where not possible we suggest you use the source from the Symbian PDK (request from http://symbian.nokia.com/ )hamishwillee 01:26, 18 November 2011 (EET)
Preethi - Phone Client Dial API
Is there any Phone Client Dial API for s60 3rd Edition and s60 5th Editionpreethi 09:06, 6 March 2012 (EET)
Rostgrm - 5th Edition in ZIP format
Is it possible to make a package of ZIPped zip packages for 5th Edition Extension instead of EXE unit? ZIP set is much useful to understand which API is exactly required for proper application building.rostgrm 11:44, 5 June 2012 (EEST)
GTO India - MediaRecorder API / application
CAN ANY BODY give me the .lib ,.h and .dso etc files used in the mediarecorder application
like
API is used through these headers: epoc32\include\ccmrmediarecorder.h epoc32\include\ccmrmediarecorderobserver.h epoc32\include\ccmrmediasink.h
Libraries related to this API: epoc32\release\armv5\lib\camcmediarecorder.dso epoc32\release\armv5\lib\camcmediarecorder.lib epoc32\release\armv5\lib\camcmediarecorder{000a0000}.dso epoc32\release\armv5\lib\camcmediarecorder{000a0000}.lib
where can I find them or get them ?GTO_India 15:27, 2 July 2012 (EEST)
GTO India - I found all the libraries and .h files
I got all the required .lib and .h files now but errors like
Creation Time Description Resource Path Location Type 1341232731390 macro "__EMULATOR_IMAGE_HEADER2" passed 10 arguments, but takes just 9 CCMRTest_UID_.cpp /CCMRTest/src line 4 C/C++ Problem 1341232731391 expected constructor, destructor, or type conversion before ';' token CCMRTest_UID_.cpp /CCMRTest/src line 4 C/C++ Problem
still exists.GTO_India 16:26, 2 July 2012 (EEST)
Rolm - Certificate for Call Adio Control API has expired
The cerificate for the Call Audio Control expired on 2013-04-18. This means that the SISX that hold the API cannot be installed (without adjusting the time on the device). I guess the same issue has hit some of the other APIs as well.
Will there be any new versions provided - signed with newer certificates? Or can this be solved in some other fashion?rolm 15:54, 15 May 2013 (EEST)
Hamishwillee - Possibly nothing to be done
Hi Rolm
Thanks for posting on the discussion boards - exactly right thing to do. OK to post here because is directly related to above content, but best to also link to Dibo post so that if there is an answer there the readers of this post might get it. Link here.
The problem is that this is for SDKs of devices that are well out of maintenance and that are I believe 4 or 5 years old - with tiny market share. This article really should be archived now, and if the answer is that the SIS files can't be re-signed then I will do so.
I've forwarded the dibo link to the people who might be able to get it re-signed.
Regards
Hamishhamishwillee 04:01, 16 May 2013 (EEST)