The QPPS library API provides a Qt5 interface to access and update the PPS objects used by QNX CAR platform services. This Qt5 interface replaces the standard PPS interface, which is based on POSIX system calls.

Your apps can create Object instances in the QPPS API to access the PPS objects used by platform services. When defining an Object instance, you must provide the filesystem path of the underlying PPS object that you want to access. Then, you can update and retrieve attributes in that PPS object.

An Object emits signals when one attribute has been updated, several attributes have been updated atomically, or the underlying PPS object has been deleted. Each set of atomic attribute updates is stored in a Changeset structure.

To accommodate different types of attributes, the Variant class lets you store attribute values as strings, numeric types, Booleans, JSON data, or binary data.

The DirWatcher class allows you to monitor the PPS objects in a directory. A DirWatcher emits signals when objects are added to or removed from the directory.

Finally, the library can be built in simulator mode, in which all PPS object reads and writes are handled by the simulator; no filesystem objects are created. This mode is useful on development systems that have no PPS service. You can use the Object instances as usual, but also use the Simulator object to simulate platform services that add, update, and remove PPS attributes and objects.

Note: All classes in the QPPS API are defined within the QPps namespace. If your app uses other classes with names matching the QPPS classes, your code must explicitly refer to the QPPS classes by listing the namespace in front of the class (e.g., QPps::Object).