Hi Yang,
On 09/30/2010 12:52 PM, Yang Gu wrote:
> This series of patches fix the compilation problem, as well as some memory
> leak. But the main focus is to enable Qt script so that phonesim GUI can be
> controlled using JavaScript. In the meantime, D-Bus support is added for the
> sake of test automation.
>
> Here are several examples:
> 1. call.js (stands for incoming call and copy it to /tmp/call/)
> tabRegistration.gbIncomingCall.leCaller.text = "12345";
> tabRegistration.gbIncomingCall.pbIncomingCall.click();
So this is a great idea and all the patches have been pushed. I've done
a couple of quick modifications afterward. More info below.
>
> Then we set the path of script and run the script with its name
> dbus-send --system --print-reply --dest=org.phonesim /
> org.phonesim.Script.SetPath string:/tmp/call
> dbus-send --system --print-reply --dest=org.phonesim /
> org.phonesim.Script.Run string:call.js
>
> Now we have simulated an incoming call.
>
> 2. sms.js (stands for incoming sms and copy it to /tmp/sms/)
> tabSMS.gbMessage1.leMessageSender.text = "Yang";
> tabSMS.gbMessage1.leSMSClass.text = "1";
> tabSMS.gbMessage1.teSMSText.setPlainText("This message is sent automatically
> from phonesim");
> tabSMS.gbMessage1.pbSendSMSMessage.click();
>
> Then we do the similar things as first example:
> dbus-send --system --print-reply --dest=org.phonesim /
> org.phonesim.Script.SetPath string:/tmp/sms
> dbus-send --system --print-reply --dest=org.phonesim /
> org.phonesim.Script.Run string:sms.js
>
> Now we have simulated an incoming sms.
>
> 3. Get the current path for script
> dbus-send --system --print-reply --dest=org.phonesim /
> org.phonesim.Script.GetPath
>
> 4. Make script return some string
> The string can be any string, number, bool, date, etc in JavaScript, but it
> couldn't be a object because of some side effect. Refer "QScriptValue Class
> Reference" for details.
> For example, if you want to know the current incoming number, you may write a
> script as below:
> // number.js
> tabRegistration.gbIncomingCall.leCaller.text
>
> After running the script the similar way as above, you may get the number.
This is really valuable information. Can you submit a patch that adds a
quick document describing this functionality? Alternatively, adding a
new section to the HACKING file might be an option as well.
>
> By the way, you may need below file (/etc/dbus-1/system.d/phonesim.conf) so
> that phonesim can register its service in system bus:
> <!-- This configuration file specifies the required security policies
> for oFono core daemon to work. -->
>
> <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration
> 1.0//EN"
> "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
> <busconfig>
>
> <!-- ../system.conf have denied everything, so we just punch some holes -->
>
> <policy user="root">
> <allow own="org.phonesim"/>
> <allow send_destination="org.phonesim"/>
> </policy>
>
> <policy at_console="true">
> <allow send_destination="org.phonesim"/>
> </policy>
>
> <policy context="default">
> <deny send_destination="org.phonesim"/>
> </policy>
>
> </busconfig>
>
>
One of the changes I made was to have phonesim register to the system
bus. This makes the above DBus configuration file unnecessary. Running
phonesim on the system bus was too much of a security risk, and wasn't
really needed.
Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono