summaryrefslogtreecommitdiff
path: root/include/dom/events/document_event.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/dom/events/document_event.h')
-rw-r--r--include/dom/events/document_event.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/dom/events/document_event.h b/include/dom/events/document_event.h
new file mode 100644
index 0000000..e349bc2
--- /dev/null
+++ b/include/dom/events/document_event.h
@@ -0,0 +1,47 @@
+/*
+ * This file is part of libdom.
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license.php
+ * Copyright 2009 Bo Yang <struggleyb.nku@gmail.com>
+ */
+
+#ifndef dom_events_document_event_h_
+#define dom_events_document_event_h_
+
+#include <dom/core/exceptions.h>
+
+struct dom_string;
+struct dom_event;
+struct dom_document;
+struct lwc_context_s;
+struct lwc_string_s;
+
+typedef struct dom_document dom_document_event;
+
+/**
+ * The default action fetcher
+ *
+ * @note: When the implementation reach the end of the event flow, it will call
+ * this function to get the default action handler. If it does not return a
+ * NULL, the returned dom_event_listener will be invoked as the event is not
+ * canceled.
+ */
+typedef struct dom_event_listener *(*dom_events_default_action_fetcher)
+ (struct lwc_string_s *name, struct lwc_string_s *type);
+
+dom_exception _dom_document_event_create_event(dom_document_event *de,
+ struct dom_string *type, struct dom_event **evt);
+#define dom_document_event_create_event(d, t, e) \
+ _dom_document_event_create_event((dom_document_event *) (d), \
+ (struct dom_string *) (t), (struct dom_event **) (e))
+
+dom_exception _dom_document_event_can_dispatch(dom_document_event *de,
+ struct dom_string *namespace, struct dom_string *type,
+ bool* can);
+#define dom_document_event_can_dispatch(d, n, t, c) \
+ _dom_document_event_can_dispatch((dom_document_event *) (d), \
+ (struct dom_string *) (n), (struct dom_string *) (t),\
+ (bool *) (c))
+
+#endif
+