summaryrefslogtreecommitdiff
path: root/src/dom/watcher.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dom/watcher.c')
-rw-r--r--src/dom/watcher.c81
1 files changed, 3 insertions, 78 deletions
diff --git a/src/dom/watcher.c b/src/dom/watcher.c
index 0788354..7de4f31 100644
--- a/src/dom/watcher.c
+++ b/src/dom/watcher.c
@@ -14,37 +14,12 @@
#include <string.h>
#include "layout.h"
+#include "dom/debug.h"
#include "dom/watcher.h"
#include "util/dom-str.h"
#include "util/util.h"
/**
- * Convert a dom node type to a string
- *
- * \param[in] type DOM node type
- * \return appropriate string.
- */
-static const char *nsl__dom_node_type_to_string(dom_node_type type)
-{
- static const char *str[DOM_NODE_TYPE_COUNT] = {
- [DOM_ELEMENT_NODE] = "ELEMENT_NODE",
- [DOM_ATTRIBUTE_NODE] = "ATTRIBUTE_NODE",
- [DOM_TEXT_NODE] = "TEXT_NODE",
- [DOM_CDATA_SECTION_NODE] = "CDATA_SECTION_NODE",
- [DOM_ENTITY_REFERENCE_NODE] = "ENTITY_REFERENCE_NODE",
- [DOM_ENTITY_NODE] = "ENTITY_NODE",
- [DOM_PROCESSING_INSTRUCTION_NODE] = "PROCESSING_INSTRUCTION_NODE",
- [DOM_COMMENT_NODE] = "COMMENT_NODE",
- [DOM_DOCUMENT_NODE] = "DOCUMENT_NODE",
- [DOM_DOCUMENT_TYPE_NODE] = "DOCUMENT_TYPE_NODE",
- [DOM_DOCUMENT_FRAGMENT_NODE] = "DOCUMENT_FRAGMENT_NODE",
- [DOM_NOTATION_NODE] = "NOTATION_NODE"
- };
-
- return str[type];
-}
-
-/**
* LibDOM event handler
*
* \param[in] evt The LibDOM event object
@@ -52,52 +27,9 @@ static const char *nsl__dom_node_type_to_string(dom_node_type type)
*/
static void nsl__dom_event_handler(struct dom_event *evt, void *pw)
{
- dom_event_target *node = NULL;
- dom_node_type node_type;
- dom_string *name = NULL;
- dom_string *type = NULL;
- dom_exception exc;
-
UNUSED(pw);
- printf(" DOM Event: ");
-
- /* Ugly test to see what events come out */
- exc = dom_event_get_target(evt, &node);
- if ((exc != DOM_NO_ERR) || (node == NULL)) {
- printf("FAILED to get target node!\n");
- goto fail;
- }
-
- exc = dom_node_get_node_type(node, &node_type);
- if (exc != DOM_NO_ERR) {
- printf("FAILED to get target node type!\n");
- goto fail;
- }
-
- if (node_type == DOM_ELEMENT_NODE) {
- exc = dom_node_get_node_name(node, &name);
- if ((exc != DOM_NO_ERR) || (name == NULL)) {
- printf("FAILED to get target node name!\n");
- goto fail;
- }
- }
-
- exc = dom_event_get_type(evt, &type);
- if ((exc != DOM_NO_ERR) || (type == NULL)) {
- printf("FAILED to get event type!\n");
- goto fail;
- }
-
- if (node_type == DOM_ELEMENT_NODE) {
- printf("<%s> %s",
- dom_string_data(name),
- dom_string_data(type));
- } else {
- printf("%s %s",
- nsl__dom_node_type_to_string(node_type),
- dom_string_data(type));
- }
+ nsl_dom_debug_dump_event(evt);
/* TODO: Based on event type:
* 1. call to do (re)selection:
@@ -105,16 +37,9 @@ static void nsl__dom_event_handler(struct dom_event *evt, void *pw)
* b. just this node?
* 2. call to update layout, if needed.
*/
-
-fail:
- if (type != NULL) dom_string_unref(type);
- if (name != NULL) dom_string_unref(name);
- if (node != NULL) dom_node_unref(node);
-
- printf("\n");
}
-/* Exported function, documented in src/dom/event.h */
+/* Exported function, documented in src/dom/watcher.h */
nslayout_error nsl_dom_watcher_add_for_layout(nslayout_layout *layout)
{
dom_exception exc;