The PPS devices information object (/pps/qnx/mount/.all) contains information on all the devices currently attached to the car infotainment system.
Each attached device has its own PPS object, stored in the device listings directory. The .all object in this same directory concatenates the contents of all other PPS objects and therefore contains a separate section describing each device. Each of these sections begins with a line in the form: [n]@<PPS_object_name>. The [n] token means the information doesn't persist across reboots, so when the system shuts down, the device's information isn't written to permanent storage by PPS.
Following the section identifier, the device parameters are specified, one per line, in lines of the form: key::value. The device parameters store the hardware type, device mountpoint, volume name, database storage path, and filesystem information.
The full contents of this PPS object look like this:
[n]@mme device_type::hdd fs_type::qnx id::mme mount::/accounts/1000/shared/ name::Juke Box [n]@umass0 PPS_DRIVER_ID::/pps/qnx/driver/3678286 blocks_size::512 blocks_total::15240576 partition_count::1 raw::/dev/umass0 [n]@umass0.0 PPS_DRIVER_ID::/pps/qnx/driver/3678286 PPS_RAWMOUNT_ID::/pps/qnx/mount/umass0 blocks_size::512 blocks_total::15240574 fs_type::dos (fat32) id::4f587192-d2fe-4efb-9fec-cd35531cfa45 label::UNTITLED mount::/fs/usb0 name::UNTITLED partition::/dev/umass0t11 partition_order::0 plugin_name::generic raw::/dev/umass0 read_only::false
The mm-detect process looks for the at sign (@) to mark a new section and reads the string immediately following that symbol as the name of the PPS object (and hence, the name of the QDB database) representing the attached device.
When a device is removed, the delta mode reading of the .all object done by mm-detect means that PPS sends mm-detect a string containing a minus sign (-) followed by the PPS object (and QDB database) name. At this point, the device's PPS object and the corresponding section in the .all object have been deleted.