changeset 127:040360195e00

More documentation
date Thu, 29 Apr 2010 21:28:11 +0000
parents e61fe5ca5c47
children 24aaf4908824
diffstat 1 files changed, 22 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/	Tue Apr 13 14:50:37 2010 +0000
+++ b/	Thu Apr 29 21:28:11 2010 +0000
@@ -22,7 +22,6 @@
 If you want to build your own adhoc command, just register your adhoc command module with 
 module:add_item and a descriptor for your command.
 A descriptor can be created like this:
 local adhoc_new = module:require "adhoc".new;
@@ -30,6 +29,28 @@
 module:add_item ("adhoc", descriptor)
+A handler gets 2 parameters. A data table and a state.
+The data table has 4 fields:
+||to||The to attribute of the stanza to be handled||
+||from||The from attribute of the stanza to be handled||
+||action||The action to be performed as specified in the stanza to be handled||
+||form||If the to be handled stanza contains a form this will contains the form element||
+The handler should return to items. A data table and a state.
+The state will be saved and passed to the handler on any adhoc stanza with the same sessionid.
+The returned table can have the following fields:
+||status||Status of the command (One of: completed, canceled, error)||yes||
+||error||A table with the fields "type", "condition" and "message"||if status is "error"||
+||info||Informational info for the user||no||
+||warn||A warning for the user||no||
+||actions||The actions avaiable to the client||no||
+||form||A form to be filled out by the user||no||
+||result||A form of type result to be presented to the user||no||
+||other||Any other XML to be included in the response to the user||no||
 For a simple module and details have a look at mod_adhoc_cmd_ping.
 = Compatibility =