Built-in C libraries
The BlackBerry 10 OS supports POSIX-compliant C and C++, as well as Dinkum C99 and C++ libraries.
If you are developing a C app, you can add a built-in library to your project using one of the following methods:
If you are developing a C++ or QML app, you can add a built-in library to your project using one of the following methods:
The following sections list the C libraries that are built in to the BlackBerry 10 Native SDK.
Near Field Communication (libnfcapi)
Near Field Communication: BPS Wrapper (libnfc_bps)
Allows apps to connect with Near Field Communications (NFC) systems using the BlackBerry Platform Services (BPS) event framework.
Peripheral Discovery (libperipheral_discovery)
Provides capabilities for your apps to receive notifications about the insertion or removal of peripheral devices.
Push Service (libPushService)
VPN Extensions (libvpn_ext)
Provides the ability to determine the current Wi-Fi state and allows for limited control of the Wi-Fi module. In addition, this library supports hotspot aggregator capabilities that allow apps to configure Wi-Fi profiles and connect to hotspots on behalf of the user.
XML C parser (libxml2)
Input events (libinputevents)
Graphics and windowing
Handles graphics context management, surface/buffer binding, and rendering synchronization. It also enables high-performance, accelerated, mixed-mode 2-D and 3-D rendering.
Image rendering (libimg)
OpenGL ES (libGLES_CM, libGLESsoftgl, libGLESv1_CL, libGLESv1_CM, libGLESv2)
Provides the ability to create 3-D objects and stunning animations.
|API reference||Linking command|
|OpenGL ES 1.1, OpenGL ES 2.0, and OpenGL ES 3.0||
For C projects, add the GLES_CM, GLESsoftgl, GLESv1_CL, GLESv1_CM, or GLESv2 library to your project's properties.
For C++/QML projects, add LIBS += -lGLES_CM -lGLESsoftgl -lGLESv1_CL -lGLESv1_CM -lGLESv2 to your .pro file.
To use OpenGL ES 3.0, add the GLESv2 library.
PNG (libpng, libpng14, libpng16)
Screen Graphics Subsystem (libscreen)
BBM Social Platform (libbbmsp)
Unified Data Source (libunifieddatasourcec)
Advertising Service (libbbads)
Provides capabilities to create and customize ad banners in your app, which you can populate with ads sourced from various ad networks.
The BlackBerry Advertising Service will reach its end of life on June 16, 2015. At that time, the servers will be disabled and the Advertising Service APIs will not work.
Provides access to QNX Sound Architecture (QSA) functionality, which is similar to the Advanced Linux Sound Architecture (ALSA).
Audio Manager (libaudio_manager)
Camera features (libcamerafeatures)
Multimedia renderer (libmmrndclient, libstrm)
OpenAL Utility Toolkit (libalut)
BlackBerry Platform Services (libbps)
Provides event handling and access to BlackBerry Platform Services (BPS) on a device, such as clock, LED, orientation, camera, accelerometer, and so on.
World Magnetic Model (libwmm)
Credential Manager (libcredential)
Provides access to credential management features, such as password-based or certificate-based credentials.
Security Builder Engine for OpenSSL (libsbengine)
Allows the use of cryptographic functionality from Security Builder instead of OpenSSL native implementations.
Security Builder Engine Loader (libloadsbengine)
Provides the ability to use the cryptographic functionality from Security Builder instead of OpenSSL native implementations.
Smart Card (libscs)
Identity Service (libids)
Lib Archive (libarchive)
String Pattern (libstrpattern)
Provides functions to register strings containing regular expressions, recognizers, and handlers, which perform actions based on those strings.
Universal Compression Library (libucl)
Provides a 1-D and 2-D barcode image processing library that supports multiple formats and uses the built-in camera to scan and decode barcodes on the device.
Last modified: 2015-04-16