/nnproject/

Pigler Notifications API

(Usage example)

An analogue of Notification Center that is compatible with all devices based on Symbian Belle and higher,
created to provide a simple and convenient API for application developers to manage notifications in the status panel.

GitHub

Installation

Pigler Notifications API:
Install Pigler.sis and reboot the phone

Pigler Java API:
Activate Open4All patch, then install PiglerJavaAPI.sis and reinstall any .jar app



Latest releases

Pigler Notifications API (1.4)
Pigler Java API (1.4)
Last update: 10.08.2024


For developers

Documentation

Symbian C++ & Qt API
Java API

Examples

QT tester sources
Java tester sources
Kutegram source
Symbian C++ example:

#include <PiglerAPI.h>

LOCAL_C void Test() {
    PiglerAPI *api = new PiglerAPI();
    _LIT(KAppName, "Example");
    if(api->Init(KAppName) == KErrNone) {
        _LIT(KText, "My test notification\nHello world!");
        api->SetNotification(0, KText);
    }
    api->Close();
}
						

Usage notice

Creating more than 1-2 notification items for application is not recommended.

Limit of items count is platform dependent, See here.
On Belle: 10 per app, 100 globally.
On Anna: 2 per app, 3 globally.

When limit of created notifications is exceeded,
creation of new items will result KErrAlreadyExists (-11) error.
It also may be KErrOverflow (-9) error.

Items should have 2 lines of text separated by '\n' character.
It is not relevant to Java and Qt, since there are 2 parameters for title and text.
On Anna there is only 1 line.
Additionaly, there is utility method PiglerAPI.isSingleLine() in Java for this.

Before using function that has API level higher than 2, check its availability
Use PiglerAPI::GetAPIVersion in C++ and PiglerAPI.getAPIVersion() in Java

Unhandled functions will return KErrNotSupported (-5).

In C++, icon bitmap must have size of 68x68 with format TDisplayMode::EColor16MA
Since API level 4, due to Anna support, size of bitmap became platform-dependent,
And must be set according to PiglerAPI::GetBitmapSize return value.
Implementation may return 0 if icons are not supported.

In Java and Qt, icon is fitted and scaled automatically, recommended size is 52x52 without margins.

To check if Pigler Java API package is installed,
check for "org.pigler.api.version" system property value.
Example values are: "1.4", "1.2-kemulator".

Currently supported platforms:
Symbian Belle (Refresh, FP1, FP2)
Symbian Anna
KEmulator nnmod >= 2.14.4 (Java only)

Symbian Anna support is still experimental.

Do not create more than one API connection at time.

Headers

PiglerAPI.h
QPiglerAPI.h

Static libraries (API level 4)

armv5\urel:
piglerapi_sym.lib
piglerapi_qt.lib
Last update: 10.08.2024

armv5\udeb:
piglerapi_sym.lib
piglerapi_qt.lib
Last update: 10.08.2024

Java library (1.4, API level 4)

javapiglerapi.jar
Last update: 10.08.2024

Building

API server (plugin) & Static libraries building

People:
shinovon: java, symbianc++ part, reversing
curoviyxru: c++, qt part, idea
2024, nnproject

Site made by rehdzi & shinovon