gboolean (*named) (LttvIAttribute *self, gboolean *homogeneous);
LttvAttributeType (*get) (LttvIAttribute *self, unsigned i,
- LttvAttributeName *name, LttvAttributeValue *v);
+ LttvAttributeName *name, LttvAttributeValue *v, gboolean *is_named);
LttvAttributeType (*get_by_name) (LttvIAttribute *self,
LttvAttributeName name, LttvAttributeValue *v);
LttvAttributeValue (*add) (LttvIAttribute *self, LttvAttributeName name,
LttvAttributeType t);
+ LttvAttributeValue (*add_unnamed) (LttvIAttribute *self,
+ LttvAttributeName name,
+ LttvAttributeType t);
+
void (*remove) (LttvIAttribute *self, unsigned i);
void (*remove_by_name) (LttvIAttribute *self,
LttvIAttribute* (*find_subdir) (LttvIAttribute *self,
LttvAttributeName name);
+
+ LttvIAttribute* (*find_subdir_unnamed) (LttvIAttribute *self,
+ LttvAttributeName name);
+
};
/* Get the i th attribute along with its type and a pointer to its value. */
LttvAttributeType lttv_iattribute_get(LttvIAttribute *self, unsigned i,
- LttvAttributeName *name, LttvAttributeValue *v);
+ LttvAttributeName *name, LttvAttributeValue *v, gboolean *is_named);
/* Get the named attribute in the table along with its type and a pointer to
LttvAttributeValue lttv_iattribute_add(LttvIAttribute *self,
LttvAttributeName name, LttvAttributeType t);
+LttvAttributeValue lttv_iattribute_add_unnamed(LttvIAttribute *self,
+ LttvAttributeName name, LttvAttributeType t);
/* Remove an attribute */
void lttv_iattribute_remove(LttvIAttribute *self, unsigned i);
LttvIAttribute* lttv_iattribute_find_subdir(LttvIAttribute *self,
LttvAttributeName name);
+LttvIAttribute* lttv_iattribute_find_subdir_unnamed(LttvIAttribute *self,
+ LttvAttributeName name);
/* The remaining utility functions are not part of the LttvIAttribute
interface but operate on objects implementing it. */