{ "$schema": "ToBeDone", "metadata": { "label": "sample-audio-policy", "info": "Provide Default Audio Policy for Multimedia, Navigation and Emergency", "version": "1.0" }, "onload": { "info": "controler initialisation config", "plugin": "sample-audio-policy.so", "actions": [ { "info": "Call policy sharelib install entrypoint", "callback": "SamplePolicyInstall", "query": {"arg1" : "first_arg", "nextarg": "second arg value"} }, { "info": "Assert AlsaCore Presence", "api": "alsacore", "verb": "ping" } ] }, "controls": [{ "label": "multimedia", "actions": [ { "label": "multimedia-policy-cb", "info": "Call Sharelib Sample Callback", "callback": "samplePolicyCB", "query": { "arg1": "snoopy", "arg2": "toto" } }, { "label": "multimedia-policy-ucm", "info": "Subcall AlSA UCM navigation", "api": "alsacore", "verb": "ucmset", "query": { "verb": "multimedia" } } ] }, { "label":"navigation", "action" : { "api": "alsacore", "verb": "ucmset", "query": { "verb": "navigation" }, "optional": true, "timeout": 100 } }, { "label":"emergency", "action": { "api": "alsacore", "verb": "ucmset", "query": { "verb": "emergency" } } }] , "events": [ { "label": "SampleEvent", "comment": "define action when receiving a given event", "actions": [ { "info": "Event Callback-1", "callback": "ProcessEventCB", "query": { "arg": "action-1" } }, { "info": "Event Callback-2", "callback": "ProcessEventCB", "query": { "arg": "action-2" } } ] } ] }