From f3f717d09fddbcefeac03e5c99a42be43a1551be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Fri, 20 Sep 2013 22:33:15 +0200
Subject: Sluift: Update documentation

Change-Id: I4b3450d166048db52ca4f531277799bb16996385

diff --git a/Sluift/README b/Sluift/README
deleted file mode 100644
index 65fb648..0000000
--- a/Sluift/README
+++ /dev/null
@@ -1,2 +0,0 @@
-For example scripts, see the 'login.lua' script and the scripts in
-Swiften/QA/ScriptedTests.
diff --git a/Sluift/README.md b/Sluift/README.md
index 8eacc2b..ae43846 100644
--- a/Sluift/README.md
+++ b/Sluift/README.md
@@ -19,3 +19,34 @@ In order to use the Sluift Lua module, make sure it is copied to a location in t
 Lua search path (`LUA_PATH`, or the built-in path). On Linux and Mac OS X, this is
 typically `<LUA_INSTALLPREFIX>/lib/lua/<LUA_VERSION>/`. If `require 'sluift'` fails,
 the error message will give an indication what this path is.
+
+
+## Examples
+
+Example scripts can be found in `Examples/`, and in the Swift tree under
+`Swiften/QA/ScriptedTests`.
+
+## Extending
+
+### Adding support for payloads
+
+To add support for a specific Swiften payload, create a new `LuaElementConvertor`
+in `ElementConvertors/` by inheriting from `GenericLuaElementConvertor`, and register
+it it `LuaElementConvertors.cpp`. The name of the convertor passed in the constructor
+of `GenericLuaElementConvertor` should correspond to the snake case version of the 
+Swiften element it converts. For examples, see the existing convertors in
+`ElementConvertors/`.
+
+When the convertor is registered, you can use it in message bodies, or in get/set
+queries. For example, for the `command` convertor:
+  
+    client:set{to = 'alice@wonderland.lit', query = {_type = 'command', 
+      type = 'execute', node = 'uptime'}}
+
+Optionally, you can add a convenience `set_<type>` shortcut on the client object by
+adding it to the list of `get_set_shortcuts` in `boot.lua`. With such a shortcut, the
+command above can be rewritten as:
+
+    client:set_command{to = 'alice@wonderland.lit', command = {
+      type = 'execute', node = 'uptime'}}
+
-- 
cgit v0.10.2-6-g49f6