Lines Matching defs:node
29 #include "fen-node.h"
57 static gboolean remove_node_internal (node_t* node, node_op_t* op);
115 node_t* node;
124 if ((node = find_node (d->filename)) != NULL) {
125 remove_node_internal (node, d->op);
149 node_get_data (node_t* node)
151 g_assert (node);
152 return node->user_data;
156 node_set_data (node_t* node, gpointer user_data)
158 gpointer data = node->user_data;
159 g_assert (node);
160 node->user_data = user_data;
165 travel_nodes (node_t* node, node_op_t* op)
170 if (node) {
172 op->hit (node, op->user_data);
175 children = g_hash_table_get_values (node->children);
185 find_node_internal (node_t* node, const gchar* filename, node_op_t* op)
194 g_assert (node);
196 parent = node;
282 remove_children (node_t* node, node_op_t* op)
284 FN_W ("%s 0x%p %s\n", __func__, node, NODE_NAME(node));
285 if (children_num (node) > 0) {
286 children_foreach_remove (node, children_remove_cb,
289 if (children_num (node) == 0) {
296 remove_node_internal (node_t* node, node_op_t* op)
302 * Top node is deleted in node_cancel_sub
304 g_assert (node);
306 if (node != _head) {
307 if (remove_children (node, op)) {
308 if (node->user_data) {
309 if (!op->pre_del (node, op->user_data)) {
313 parent = node->parent;
314 children_remove (parent, node);
315 node_delete (node);
327 pending_remove_node (node_t* node, node_op_t* op)
334 if (g_ascii_strcasecmp (d->filename, NODE_NAME(node)) == 0) {
339 d = _dnode_new (NODE_NAME(node), op);
351 remove_node (node_t* node, node_op_t* op)
353 remove_node_internal (node, op);