All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Patch Description
@ 2010-09-30 17:52 Yang Gu
  2010-09-30 17:52 ` [PATCH v2 1/3] Move def of class ControlWidget to header file Yang Gu
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Yang Gu @ 2010-09-30 17:52 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3165 bytes --]

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();

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. 

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>



Comments are welcome!

------------
Yang Gu (3):
  Move def of class ControlWidget to header file
  Some instances in ControlWidget need to be deleted
  Enable Qt Script

 Makefile.am     |    5 +-
 configure.ac    |    2 +-
 src/control.cpp |  165 ++++++++++++++++++++++++++++++++-----------------------
 src/control.h   |  106 +++++++++++++++++++++++++++++++++++-
 4 files changed, 203 insertions(+), 75 deletions(-)


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-10-14 11:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-30 17:52 [PATCH v2 0/3] Patch Description Yang Gu
2010-09-30 17:52 ` [PATCH v2 1/3] Move def of class ControlWidget to header file Yang Gu
2010-09-30 17:52 ` [PATCH v2 2/3] Some instances in ControlWidget need to be deleted Yang Gu
2010-09-30 17:52 ` [PATCH v2 3/3] Enable Qt Script Yang Gu
2010-10-13 20:19 ` [PATCH v2 0/3] Patch Description Denis Kenzior
2010-10-14 11:17   ` Gu, Yang
2010-10-14 11:23     ` Denis Kenzior

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.