Launcher control object (/pps/services/launcher/control)

This is the control object that is provided by the launcher service. This PPS object is supplied with the QNX SDK for Apps and Media. Your window manager interacts with this object to start and stop applications.

Window manager
Window manager; any application
Note: This type of object is known as a server object, a special PPS object designed for point-to-point communication between a server and one or more clients. For details, see "Server objects" in the Persistent Publish/Subscribe Developer's Guide.

Message/response format

Commands sent to the /pps/services/launcher/control object should be in this form:


Responses always reflect the command_string and ID_number that were sent in the message:



msg:: dat:: id::
start Application to launch (string from the app's directory name and key found under /apps). Number (or any other identifier).
stop Application to terminate. Number (or any other identifier).


These examples assume that you've already successfully declared and performed the following:
/* Declare file descriptor to publish and subscribe
 * to your PPS control object
int pps_fd;

/* Declare variables to use for your PPS messages */
int msgsize;
char msgbuf[4096];
char *data = strdup("sys.browser.gYABgJYFHAzbeFMPCCpYWBtHAm0");
char *id = strdup("101");

/* Open PPS control object file for publishing and subscribing */
pps_fd = open ("/pps/services/launcher/control?wait,delta", O_RDWR);

Start an application:

char *cmd = strdup("start");
msgsize = snprintf(msgbuf,
                   "msg::%s\ndat::%s\nid::%s", cmd, data, id);
write(pps_fd, msgbuf, (unsigned)msgsize);

Stop an application:

char *cmd = strdup("stop");
msgsize = snprintf(msgbuf,
                   "msg::%s\ndat::%s\nid::%s", cmd, data, id);
write(pps_fd, msgbuf, (unsigned)msgsize);