--- a/lm_message.c Fri Feb 20 23:07:43 2009 +0200
+++ b/lm_message.c Sat Feb 21 12:43:51 2009 +0200
@@ -6,6 +6,7 @@
#include "config.h"
#include "util.h"
#include "lm_types.h"
+#include "lm_message_node.h"
/// lm.message
/// Module, representing individual message.
@@ -104,9 +105,6 @@
return 1;
}
-// XXX: add node methods here to allow omitting of :node(): element
-// BTW, we can jus adapt node methods to work on messages too and register them here also
-
/// message:type
/// Returns two strings: message type and message sub type.
/// R: message type, message sub type
@@ -143,11 +141,23 @@
};
static const luaL_Reg llm_message_reg_m[] = {
- { "node", llm_message_node },
- { "type", llm_message_kind },
- { "pointer", llm_message_pointer },
- { "__gc", llm_message_gc },
- { NULL, NULL },
+ { "node", llm_message_node },
+ { "type", llm_message_kind },
+ // These methods are common for message and message node
+ { "next", llm_message_node_next },
+ { "prev", llm_message_node_prev },
+ { "children", llm_message_node_children },
+ { "parent", llm_message_node_parent },
+ { "value", llm_message_node_value },
+ { "child", llm_message_node_child },
+ { "find_child", llm_message_node_find_child },
+ { "attribute", llm_message_node_attribute },
+ { "raw", llm_message_node_raw },
+ { "xml", llm_message_node_xml },
+ // End common methods
+ { "pointer", llm_message_pointer },
+ { "__gc", llm_message_gc },
+ { NULL, NULL },
};
int luaopen_lm_message (lua_State *L)