Imported Upstream version 3.2.2
[debian/gnuradio] / grc / blocks / xmlrpc_server.xml
diff --git a/grc/blocks/xmlrpc_server.xml b/grc/blocks/xmlrpc_server.xml
new file mode 100644 (file)
index 0000000..6c31bd1
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Simple XMLRPC Server
+###################################################
+ -->
+<block>
+       <name>XMLRPC Server</name>
+       <key>xmlrpc_server</key>
+       <import>import SimpleXMLRPCServer</import>
+       <import>import threading</import>
+       <make>SimpleXMLRPCServer.SimpleXMLRPCServer(($addr, $port), allow_none=True)
+self.$(id).register_instance(self)
+threading.Thread(target=self.$(id).serve_forever).start()</make>
+       <param>
+               <name>Address</name>
+               <key>addr</key>
+               <value>localhost</value>
+               <type>string</type>
+       </param>
+       <param>
+               <name>Port</name>
+               <key>port</key>
+               <value>8080</value>
+               <type>int</type>
+       </param>
+       <doc>
+This block will start an XMLRPC server. \
+The server provides access to the run, start, stop, wait functions of the flow graph. \
+The server also provides access to the variable callbacks in the flow graph. \
+Ex: If the variable is called freq, the function provided by the server will be called set_freq(new_freq).
+
+Example client in python:
+
+import xmlrpclib
+s = xmlrpclib.Server('http://localhost:8080')
+s.set_freq(5000)
+       </doc>
+</block>