]> git.draconx.ca Git - gob-dx.git/blobdiff - src/treefuncs.c
Release 2.0.13
[gob-dx.git] / src / treefuncs.c
index 6c2ca4092631d757e7e58b0dda984483c84e1155..c385bc83141ed5b6fa575ad7fa7ecca7e205b880 100644 (file)
@@ -105,6 +105,7 @@ enum {
        QUARK_interfaces_STEAL,
        QUARK_nodes,
        QUARK_nodes_STEAL,
+       QUARK_abstract,
        QUARK_name,
        QUARK_name_STEAL,
        QUARK_pointer,
@@ -212,6 +213,7 @@ ensure_quarks (void)
        g_hash_table_insert (quark_ht, "interfaces:steal", GINT_TO_POINTER (QUARK_interfaces_STEAL));
        g_hash_table_insert (quark_ht, "nodes", GINT_TO_POINTER (QUARK_nodes));
        g_hash_table_insert (quark_ht, "nodes:steal", GINT_TO_POINTER (QUARK_nodes_STEAL));
+       g_hash_table_insert (quark_ht, "abstract", GINT_TO_POINTER (QUARK_abstract));
        g_hash_table_insert (quark_ht, "name", GINT_TO_POINTER (QUARK_name));
        g_hash_table_insert (quark_ht, "name:steal", GINT_TO_POINTER (QUARK_name_STEAL));
        g_hash_table_insert (quark_ht, "pointer", GINT_TO_POINTER (QUARK_pointer));
@@ -360,6 +362,7 @@ copy_class (Class * self)
        new->chunk_size = g_strdup (self->chunk_size);
        new->interfaces = g_list_copy (self->interfaces); COPY_LIST_VALS(new->interfaces, g_strdup);
        new->nodes = node_list_copy (self->nodes);
+       new->abstract = self->abstract;
        return new;
 }
 
@@ -947,6 +950,11 @@ setv_class (Class * self, va_list __ap)
                        self->nodes = nodes;
                        break;
                }
+               case QUARK_abstract: {
+                       gboolean abstract = va_arg (__ap, gboolean);
+                       self->abstract = abstract;
+                       break;
+               }
                default:
                        g_warning ("Argument named 'Class::%s' does not exist", arg);
                        break;