mm-detect SLM specification

SLM uses an XML configuration file to store the list of processes to be automatically launched and their properties. In QNX CAR systems, mm-detect and its prerequisite and dependant programs are listed in the SLM configuration file. You can change the configuration to run mm-detect with different settings.

The following excerpt from the SLM configuration file shows some of the property settings for mm-detect:

<SLM:component name="mmdetect">
    <SLM:command>mm-detect</SLM:command>
    <SLM:args>-v</SLM:args>
    <SLM:depend>mmsync</SLM:depend>
    <SLM:depend>usblauncher</SLM:depend>
</SLM:component>

Here, the name "mmdetect" assigned to the <SLM:component> XML object is an internal label used within the configuration file. This label differs from the process name of mm-detect, which is provided in the <SLM:command> tag.

Command-line arguments

The <SLM:args> tag lists the command-line arguments. By default, only the verbosity setting (-v) is specified, but you can change the value assigned to <SLM:args> to include other options. The new mm-detect settings will take effect after you reboot the car system, causing SLM to relaunch the service. See "Customizing mm-detect" for instructions on changing the command settings for mm-detect.

Workflow

The <SLM:depend> objects list which processes must be running before mm-detect can be started. Based on these listed dependencies, SLM must ensure that the mm-sync and usblauncher processes are running before starting mm-detect.

The programs that are prerequisites to mm-detect have their own prerequisites. For instance, mm-sync requires QDB to be running so that client applications can load the media databases before mm-sync starts synchronizing device contents. The interprocess dependencies between mm-detect and the programs it uses make up a complex workflow of processes. The following is an illustration of part of this workflow:

Figure 1. Workflow of mm-detect and related processes