3e8020fe9d66a62229d07ff9b4dcbe7d72974cb3
[AGL/documentation.git] / docs / 3_Developer_Guides / 5_Controller_Guides / 3.6.4_Config_Sample.md
1 ---
2 edit_link: ''
3 title: Config Sample
4 origin_url: >-
5   https://git.automotivelinux.org/src/libappcontroller/plain/docs/configSample.md?h=master
6 ---
7
8 <!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/libappcontroller-guides-devguides-book.yml -->
9
10 # Config Sample
11
12 Here after a simple configuration sample.
13
14 ```json
15 {
16     "$schema": "http://iot.bzh/download/public/schema/json/ctl-schema.json",
17     "metadata": {
18         "uid": "sample-audio-control",
19         "api": "audio-control",
20         "info": "Provide Default Audio Policy for Multimedia, Navigation and Emergency",
21         "version": "1.0",
22         "require": ["intel-hda", "jabra-usb", "scarlett-usb"]
23     },
24     "plugins": {
25         "uid" : "MyPlug",
26         "spath":"./plugins/pluginname:../conf.d/project/lua.d",
27         "libs": ["ctl-audio-plugin-sample.ctlso", "softmixer-simple.lua"],
28         "lua": ["Lua2cHelloWorld1", "Lua2cHelloWorld2"]
29     },
30     "onload": [{
31         "uid": "onload-sample-cb",
32         "info": "Call control sharelib install entrypoint",
33         "action": "lua://MyPlug#SamplePolicyInit",
34         "args": {
35             "arg1": "first_arg",
36             "nextarg": "second arg value"
37             }
38         }, {
39         "uid": "onload-sample-api",
40         "info": "Assert AlsaCore Presence",
41         "action": "api://alsacore#ping",
42         "args": {
43             "test": "onload-sample-api"
44             }
45         }
46     ],
47     "controls":[{
48             "uid": "multimedia",
49             "privileges": "urn:AGL:permission:audio:public:mutimedia",
50             "action": "lua://MyPlug#Audio_Set_Multimedia"
51         }, {
52             "uid": "navigation",
53             "privileges": "urn:AGL:permission:audio:public:navigation",
54             "action": "lua://MyPlug#Audio_Set_Navigation"
55         }, {
56             "uid": "emergency",
57             "privileges": "urn:AGL:permission:audio:public:emergency",
58             "action": "lua://MyPlug#Audio_Set_Emergency"
59         }, {
60             "uid": "multimedia-control-cb",
61             "info": "Call Sharelib Sample Callback",
62             "action": "plugin://MyPlug#sampleControlNavigation",
63             "args": {
64                 "arg1": "snoopy",
65                 "arg2": "toto"
66             }
67         }, {
68             "uid": "navigation-control-ucm",
69             "action": "api://alsacore#ping",
70             "args": {
71                 "test": "navigation"
72             }
73          }, {
74             "uid": "navigation-control-lua",
75             "info": "Call Lua Script to set Navigation",
76             "action": "lua://MyPlug#Audio_Set_Navigation"
77         }
78     ],
79     "events":[{
80             "uid": "speed-action-1",
81             "action": "plugin://MyPlug#Blink-when-over-130",
82             "args": {
83                 "speed": 130,
84                 "blink-speed": 1000
85             }
86         }, {
87             "uid": "Adjust-Volume",
88             "action": "lua://MyPlug#Adjust_Volume_To_Speed"
89         }, {
90             "uid": "Display-Rear-Camera",
91             "action": "plugin://MyPlug#Display-Rear-Camera"
92         }, {
93             "uid": "Prevent-Phone-Call",
94             "action": "api://phone#status",
95             "args": {
96                 "call-accepted": "false"
97             }
98         }, {
99             "uid": "Authorize-Video",
100             "action": "api://video#status",
101             "args": {
102                 "tv-accepted": "true"
103             }
104         }
105     ]
106 }
107 ```