1*1c60b9acSAndroid Build Coastguard Worker# lws minimal dbus client 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard WorkerThis demonstrates nonblocking, asynchronous dbus method calls as the client. 4*1c60b9acSAndroid Build Coastguard Worker 5*1c60b9acSAndroid Build Coastguard Worker## build 6*1c60b9acSAndroid Build Coastguard Worker 7*1c60b9acSAndroid Build Coastguard WorkerUsing libdbus requires additional non-default include paths setting, same as 8*1c60b9acSAndroid Build Coastguard Workeris necessary for lws build described in ./lib/roles/dbus/README.md 9*1c60b9acSAndroid Build Coastguard Worker 10*1c60b9acSAndroid Build Coastguard WorkerCMake can guess one path and the library name usually, see the README above 11*1c60b9acSAndroid Build Coastguard Workerfor details of how to override for custom libdbus and cross build. 12*1c60b9acSAndroid Build Coastguard Worker 13*1c60b9acSAndroid Build Coastguard WorkerFedora example: 14*1c60b9acSAndroid Build Coastguard Worker``` 15*1c60b9acSAndroid Build Coastguard Worker$ cmake .. -DLWS_DBUS_INCLUDE2="/usr/lib64/dbus-1.0/include" 16*1c60b9acSAndroid Build Coastguard Worker$ make 17*1c60b9acSAndroid Build Coastguard Worker``` 18*1c60b9acSAndroid Build Coastguard Worker 19*1c60b9acSAndroid Build Coastguard WorkerUbuntu example: 20*1c60b9acSAndroid Build Coastguard Worker``` 21*1c60b9acSAndroid Build Coastguard Worker$ cmake .. -DLWS_DBUS_INCLUDE2="/usr/lib/x86_64-linux-gnu/dbus-1.0/include" 22*1c60b9acSAndroid Build Coastguard Worker$ make 23*1c60b9acSAndroid Build Coastguard Worker``` 24*1c60b9acSAndroid Build Coastguard Worker 25*1c60b9acSAndroid Build Coastguard Worker## usage 26*1c60b9acSAndroid Build Coastguard Worker 27*1c60b9acSAndroid Build Coastguard WorkerCommandline option|Meaning 28*1c60b9acSAndroid Build Coastguard Worker---|--- 29*1c60b9acSAndroid Build Coastguard Worker-d <loglevel>|Debug verbosity in decimal, eg, -d15 30*1c60b9acSAndroid Build Coastguard Worker 31*1c60b9acSAndroid Build Coastguard WorkerThe minimal client connects to the minimal dbus server example, which is 32*1c60b9acSAndroid Build Coastguard Workerexpected to be listening on its default abstract unix domain socket path. 33*1c60b9acSAndroid Build Coastguard Worker 34*1c60b9acSAndroid Build Coastguard WorkerIt call the server Echo method with "Hello!" and returns to the event loop. 35*1c60b9acSAndroid Build Coastguard WorkerWhen the reply comes, it prints the returned message. 36*1c60b9acSAndroid Build Coastguard Worker 37*1c60b9acSAndroid Build Coastguard WorkerAfterwards it just sits there receiving unsolicited messages from the server 38*1c60b9acSAndroid Build Coastguard Workerexample, until closed by the user. 39*1c60b9acSAndroid Build Coastguard Worker 40*1c60b9acSAndroid Build Coastguard Worker``` 41*1c60b9acSAndroid Build Coastguard Worker $ ./lws-minimal-dbus-client 42*1c60b9acSAndroid Build Coastguard Workerctx 43*1c60b9acSAndroid Build Coastguard Worker[2018/10/05 06:08:31:4901] NOTICE: pending_call_notify 44*1c60b9acSAndroid Build Coastguard Worker[2018/10/05 06:08:31:4929] USER: pending_call_notify: received 'Hello!' 45*1c60b9acSAndroid Build Coastguard Worker^C[2018/10/05 06:09:22:4409] NOTICE: destroy_dbus_client_conn 46*1c60b9acSAndroid Build Coastguard Worker[2018/10/05 06:09:22:4691] NOTICE: Exiting cleanly 47*1c60b9acSAndroid Build Coastguard Worker... 48*1c60b9acSAndroid Build Coastguard Worker``` 49*1c60b9acSAndroid Build Coastguard Worker 50