test: Add a device push script
authorRavi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Wed, 2 May 2012 16:00:43 +0000 (19:00 +0300)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 3 May 2012 12:45:48 +0000 (14:45 +0200)
Makefile.am
test/push-device [new file with mode: 0755]

index 30fa336..c709cb6 100644 (file)
@@ -65,7 +65,8 @@ EXTRA_DIST = src/genbuiltin $(doc_files)
 
 test_scripts = test/disable-adapter test/enable-adapter test/list-adapters \
                test/dump-device test/dump-tag test/dump-record \
-               test/monitor-near test/start-poll test/stop-poll test/write-tag
+               test/monitor-near test/start-poll test/stop-poll test/write-tag \
+               test/push-device
 
 if TEST
 testdir = $(pkglibdir)/test
diff --git a/test/push-device b/test/push-device
new file mode 100755 (executable)
index 0000000..a34bc6d
--- /dev/null
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+
+import sys
+import dbus
+
+def help_text():
+       print "Usage: %s <device-path> <record-type> <...>" % (sys.argv[0])
+       print "         If type is Text, parameters are <encoding> <language> <representation>"
+       print "         If type is URI, parameters are <uri>"
+       print "         If type is SmartPoster, parameters are <uri>"
+       print "e.g. < %s /org/neard/nfc0/device0 Text UTF-8 en-US hello,Type2! >" % (sys.argv[0])
+       print "e.g. < %s /org/neard/nfc0/device0 URI http://www.nfc-forum.com >" % (sys.argv[0])
+       print "e.g. < %s /org/neard/nfc0/device0 SmartPoster http://www.nfc-forum.com >" % (sys.argv[0])
+       sys.exit(1)
+
+if len(sys.argv) < 2:
+       help_text()
+
+bus = dbus.SystemBus()
+
+device = dbus.Interface(bus.get_object("org.neard", sys.argv[1]),
+                                               "org.neard.Device")
+
+if len(sys.argv) == 6:
+       if sys.argv[2] in ["Text"]:
+               device.Push(({ "Type" : "Text",
+                               "Encoding" : sys.argv[3],
+                               "Language" : sys.argv[4],
+                               "Representation" : sys.argv[5] }))
+       else:
+               help_text()
+
+elif len(sys.argv) == 4:
+       if sys.argv[2] in ["URI"]:
+               device.Push(({ "Type" : "URI",
+                               "URI" : sys.argv[3] }))
+       elif sys.argv[2] in ["SmartPoster"]:
+               device.Push(({ "Type" : "SmartPoster",
+                               "URI" : sys.argv[3] }))
+       else:
+               help_text()
+else:
+       help_text()