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
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to