2 Copyright (C) 2011 Samsung Electronics
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with this library; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 #ifndef WebKitDOM_Node_h
20 #define WebKitDOM_Node_h
22 #include <WebKitDOM_Defines.h>
23 #include <WebKitDOM_EventTarget.h>
30 #define WEBKITDOM_NODE_INIT(objPtr) \
31 (((WebKitDOM_Object*)(objPtr))->p_coreObject) = 0; \
32 (((WebKitDOM_Object*)(objPtr))->deinit) = ewk_webkitdom_node_deinit
34 struct _WebKitDOM_Node {
35 WebKitDOM_EventTarget parent_object;
38 #define WEBKITDOM_ELEMENT_NODE 1
39 #define WEBKITDOM_ATTRIBUTE_NODE 2
40 #define WEBKITDOM_TEXT_NODE 3
41 #define WEBKITDOM_CDATA_SECTION_NODE 4
42 #define WEBKITDOM_ENTITY_REFERENCE_NODE 5
43 #define WEBKITDOM_ENTITY_NODE 6
44 #define WEBKITDOM_PROCESSING_INSTRUCTION_NODE 7
45 #define WEBKITDOM_COMMENT_NODE 8
46 #define WEBKITDOM_DOCUMENT_NODE 9
47 #define WEBKITDOM_DOCUMENT_TYPE_NODE 10
48 #define WEBKITDOM_DOCUMENT_FRAGMENT_NODE 11
49 #define WEBKITDOM_NOTATION_NODE 12
50 #define WEBKITDOM_DOCUMENT_POSITION_DISCONNECTED 0x01
51 #define WEBKITDOM_DOCUMENT_POSITION_PRECEDING 0x02
52 #define WEBKITDOM_DOCUMENT_POSITION_FOLLOWING 0x04
53 #define WEBKITDOM_DOCUMENT_POSITION_CONTAINS 0x08
54 #define WEBKITDOM_DOCUMENT_POSITION_CONTAINED_BY 0x10
55 #define WEBKITDOM_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC 0x20
57 EAPI void ewk_webkitdom_node_get_node_name(WebKitDOM_Node* self, WebKitDOM_String* ret);
59 EAPI void ewk_webkitdom_node_get_node_value(WebKitDOM_Node* self, WebKitDOM_String* ret);
60 EAPI void ewk_webkitdom_node_set_node_value(WebKitDOM_Node* self, WebKitDOM_String*);
62 EAPI unsigned short ewk_webkitdom_node_get_node_type(WebKitDOM_Node* self);
64 EAPI void ewk_webkitdom_node_get_parent_node(WebKitDOM_Node* self, WebKitDOM_Node* ret);
66 EAPI void ewk_webkitdom_node_get_child_nodes(WebKitDOM_Node* self, WebKitDOM_NodeList* ret);
68 EAPI void ewk_webkitdom_node_get_first_child(WebKitDOM_Node* self, WebKitDOM_Node* ret);
70 EAPI void ewk_webkitdom_node_get_last_child(WebKitDOM_Node* self, WebKitDOM_Node* ret);
72 EAPI void ewk_webkitdom_node_get_previous_sibling(WebKitDOM_Node* self, WebKitDOM_Node* ret);
74 EAPI void ewk_webkitdom_node_get_next_sibling(WebKitDOM_Node* self, WebKitDOM_Node* ret);
76 EAPI void ewk_webkitdom_node_get_attributes(WebKitDOM_Node* self, WebKitDOM_NamedNodeMap* ret);
78 EAPI void ewk_webkitdom_node_get_owner_document(WebKitDOM_Node* self, WebKitDOM_Document* ret);
80 EAPI void ewk_webkitdom_node_get_namespace_uri(WebKitDOM_Node* self, WebKitDOM_String* ret);
82 EAPI void ewk_webkitdom_node_get_prefix(WebKitDOM_Node* self, WebKitDOM_String* ret);
83 EAPI void ewk_webkitdom_node_set_prefix(WebKitDOM_Node* self, WebKitDOM_String*);
85 EAPI void ewk_webkitdom_node_get_local_name(WebKitDOM_Node* self, WebKitDOM_String* ret);
87 EAPI void ewk_webkitdom_node_get_base_uri(WebKitDOM_Node* self, WebKitDOM_String* ret);
89 EAPI void ewk_webkitdom_node_get_text_content(WebKitDOM_Node* self, WebKitDOM_String* ret);
90 EAPI void ewk_webkitdom_node_set_text_content(WebKitDOM_Node* self, WebKitDOM_String*);
92 EAPI void ewk_webkitdom_node_get_parent_element(WebKitDOM_Node* self, WebKitDOM_Element* ret);
95 EAPI void ewk_webkitdom_node_insert_before(WebKitDOM_Node* self, WebKitDOM_Node* newChild, WebKitDOM_Node* refChild, WebKitDOM_Node* ret);
96 EAPI void ewk_webkitdom_node_replace_child(WebKitDOM_Node* self, WebKitDOM_Node* newChild, WebKitDOM_Node* oldChild, WebKitDOM_Node* ret);
97 EAPI void ewk_webkitdom_node_remove_child(WebKitDOM_Node* self, WebKitDOM_Node* oldChild, WebKitDOM_Node* ret);
98 EAPI void ewk_webkitdom_node_append_child(WebKitDOM_Node* self, WebKitDOM_Node* newChild, WebKitDOM_Node* ret);
99 EAPI Eina_Bool ewk_webkitdom_node_has_child_nodes(WebKitDOM_Node* self);
100 EAPI void ewk_webkitdom_node_clone_node(WebKitDOM_Node* self, Eina_Bool deep, WebKitDOM_Node* ret);
101 EAPI void ewk_webkitdom_node_normalize(WebKitDOM_Node* self);
102 EAPI Eina_Bool ewk_webkitdom_node_is_supported(WebKitDOM_Node* self, WebKitDOM_String* feature, WebKitDOM_String* version);
103 EAPI Eina_Bool ewk_webkitdom_node_has_attributes(WebKitDOM_Node* self);
104 EAPI Eina_Bool ewk_webkitdom_node_is_same_node(WebKitDOM_Node* self, WebKitDOM_Node* other);
105 EAPI Eina_Bool ewk_webkitdom_node_is_equal_node(WebKitDOM_Node* self, WebKitDOM_Node* other);
106 EAPI void ewk_webkitdom_node_lookup_prefix(WebKitDOM_Node* self, WebKitDOM_String* namespaceURI, WebKitDOM_String* ret);
107 EAPI Eina_Bool ewk_webkitdom_node_is_default_namespace(WebKitDOM_Node* self, WebKitDOM_String* namespaceURI);
108 EAPI void ewk_webkitdom_node_lookup_namespace_uri(WebKitDOM_Node* self, WebKitDOM_String* prefix, WebKitDOM_String* ret);
109 EAPI unsigned short ewk_webkitdom_node_compare_document_position(WebKitDOM_Node* self, WebKitDOM_Node* other);
110 EAPI Eina_Bool ewk_webkitdom_node_contains(WebKitDOM_Node* self, WebKitDOM_Node* other);
111 EAPI void ewk_webkitdom_node_add_event_listener(WebKitDOM_Node* self, WebKitDOM_String* type, WebKitDOM_EventListener* listener, Eina_Bool useCapture);
112 EAPI void ewk_webkitdom_node_remove_event_listener(WebKitDOM_Node* self, WebKitDOM_String* type, WebKitDOM_EventListener* listener, Eina_Bool useCapture);
113 EAPI Eina_Bool ewk_webkitdom_node_dispatch_event(WebKitDOM_Node* self, WebKitDOM_Event* event);
115 EAPI void ewk_webkitdom_node_deinit(const WebKitDOM_Object*);
116 EAPI void _copy_webkit_node(WebKitDOM_Node* kitObjSrc, WebKitDOM_Node* ret);