Deprecated APIs

All the deprecated APIs in Symbian^3 are listed with the alternatives provided. These deprecated APIs will be removed from the future Symbian platform release, so it is recommended to avoid using these APIs.

The following table summarizes the deprecated APIs:

API Affected headers and libraries Description
AVKON UI framework and the following dependant APIs:
  • Phonebook Data Add Edit UI API

  • Phonebook Data Management API

  • Speed Dial Utility Control API

  • Phonebook vCard Import Export API

  • Phonebook UI Utilities API

  • Phonebook Thumbnail operation API

  • Phonebook Fetch UI API

  • Screensaver API

  • SendUI API

  • Notepad Library API

  • Connection Settings UI API

  • Landmarks UI Add_Edit API

  • Landmarks UI selector API

  • Location Center Registration API

The avkon.lib, commondialogs.lib, and eikcoctl.lib libraries of AVKON UI framework are affected by this change.

The following dependant libraries are also affected by this change:

  • pbkview.lib

  • pbkeng.lib

  • bcardeng.lib

  • spdctrl.lib

  • sendui.lib

  • npdlib.lib

  • cmmanager.lib

  • eikdlg.lib

  • commonui.lib

  • eikctl.lib

  • uiklaf.lib

  • eikdlg.lib

  • aknnotify.lib

  • lmkcommonui.lib

AVKON UI framework and its dependant APIs have been deprecated. This is the first step to move to Qt UI framework in the future releases. It is recommended to start migrating all the existing applications from AVKON to Qt, so that these applications continue to work on the future Symbian platform releases. For more information on migrating to Qt, refer to Qt for Symbian
KLinkLayerOpen and KLinkLayerClosed nifvar.h and nifman.dll These constants have been deprecated. The existing applications will continue to work, but it is recommended that the new applications use KConnectionUp or KConnectionDown constants (es_sock.h) to indicate the connection status.
KCDCurrentVersion and KCDLatestVersion commsdat.h, metadatabase.h and commsdat.dll. These constants were used to retrieve the version information of a database schema in Comms Database. They have been deprecated from Symbian^3 onwards as there are two database schemas in Comms Database. To identify each of these schemas separately, use KCDVersion1_1 and KCDVersion1_2 instead of the deprecated constants. The existing applications using these deprecated constants will continue to work on Symbian^3 without any change.
RConnection::DataTransferredRequest(), RConnection::DataTransferredCancel(), RConnection::GetDataSentNotificationRequest(), RConnection::DataSentNotificationCancel(), RConnection::DataReceivedNotificationRequest(), and RConnection::DataReceivedNotificationCancel(). es_sock.h and esock.dll All these APIs has been deprecated. To monitor data and handle data sent/received notifications, use the RSubConnection API instead. All the existing applications continue to work on Symbian^3 without any changes. For more information on using RSubConnection API, refer to Socket-Server documentation.

Sub-connection management and monitoring APIs:

  • RConnection::Stop(TSubConnectionUniqueId)

  • RConnection::Stop(TSubConnectionUniqueId, TConnStopType)

  • RConnection::ProgressNotification(TSubConnectionUniqueId, TNifProgressBuf&, TRequestStatus&, TUint)

  • RConnection::CancelProgressNotification(TSubConnectionUniqueId)

  • RConnection::Progress(TSubConnectionUniqueId, TNifProgress&)

  • RConnection::IsSubConnectionActiveRequest()

  • RConnection::IsSubConnectionActiveCancel()

Connection settings access APIs in RConnection:

  • RConnection::GetIntSetting(const TDesC&, TUint32&)

  • RConnection::GetBoolSetting(const TDesC&, TBool&)

  • RConnection::GetDesSetting(const TDesC&, TDes8&)

  • RConnection::GetDesSetting(const TDesC&, TDes16&)

  • RConnection::GetLongDesSetting(const TDesC& aSettingName, TDes& aValue)

System wide connection management and monitoring APIs:

  • RConnection::EnumerateConnections(TUint& aCount)

  • RConnection::AllInterfaceNotification(TDes8& aNotification, TRequestStatus& aStatus)

  • RConnection::CancelAllInterfaceNotification()

es_sock.h and esocksvr.dll

All the sub-connection management and monitoring APIs in RConnection have been deprecated. Instead of these deprecated APIs, use the following RSubConnection APIs:

For more information on these RSubConnection APIs, refer to Registering for Sub-Connection events: Tutorial

The connection settings access APIs in RConnection are deprecated so you can use RConnection::GetParameters(ESock::CCommsDataObjectBase& aDataObject) to retrieve the connection settings.

The system-wide connection management APIs are deprecated so avoid using it. Instead, use the following RConnectionServ APIs:

  • RConnectionServ::AccessPointStatusQuery(const CConnectionServParameterBundle& aQuery, CConnectionServParameterBundle& aResult, TRequestStatus& aStatus)

  • RConnectionServ::AccessPointNotification(const CConnectionServParameterBundle& aQuery, MAccessPointNotificationObserver& aObserver)

  • RConnectionServ::CancelAccessPointNotification()

CFbsDevice::CancelSprite(), CFbsDevice::HideSprite(),CFbsDevice::HideSprite(const TRect&, const TRegion*), CFbsDevice::ShowSprite(TSpriteBase*), CFbsDevice::ShowSprite(TSpriteBase*, const TRect&,const TRegion*), CFbsScreenDevice::DrawSpriteBegin(), CFbsScreenDevice::DrawSpriteEnd(), CFbsScreenDevice::CancelSprite(), CFbsScreenDevice::HideSprite(), CFbsScreenDevice::HideSprite(const TRect&,const TRegion*), CFbsScreenDevice::ShowSprite(TSpriteBase*), and CFbsScreenDevice::ShowSprite(TSpriteBase*, const TRect&,const TRegion*). bitdev.h These CFbsDevice and CFbsScreenDevice APIs, which were used internally by the Window Server for implementing sprites, are deprecated from Symbian^3 onwards.
Flash Viewer Framework API flash_ui.h and flash2ui.dll This framework API is deprecated so remove all references to it.
Browser Control API, Browser Plugin API, Download Manager Client API, Download Manager UI API, Favourites Engine API, and Settings API browserengine.lib, browserengine.lib, downloadmgr.lib, downloadmgruilib.lib, and favouritesengine.lib. All these browser APIs are deprecated, so start using the QTWebKit module instead.