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