X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Flttv%2Fattribute.h;h=498d567c8db6e2d1990820cb08e055d25855692a;hb=c0cb4d12b6441b5964a5017e8c58349bec15e7b8;hp=e721b3bf3f315b37cd9a639d9a21dbba523044e7;hpb=d8f124de0295aea546b6debf5945bfeea2bbeb2a;p=lttv.git diff --git a/ltt/branches/poly/lttv/lttv/attribute.h b/ltt/branches/poly/lttv/lttv/attribute.h index e721b3bf..498d567c 100644 --- a/ltt/branches/poly/lttv/lttv/attribute.h +++ b/ltt/branches/poly/lttv/lttv/attribute.h @@ -19,6 +19,8 @@ #ifndef ATTRIBUTE_H #define ATTRIBUTE_H +/* FIXME : unnamed attributes not implemented */ + #include #include #include @@ -44,6 +46,7 @@ struct _LttvAttribute { struct _LttvAttributeClass { GObjectClass parent; + }; GType lttv_attribute_get_type (void); @@ -67,7 +70,7 @@ gboolean lttv_attribute_named(LttvAttribute *self, gboolean *homogeneous); /* Get the i th attribute along with its type and a pointer to its value. */ LttvAttributeType lttv_attribute_get(LttvAttribute *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 @@ -83,6 +86,8 @@ LttvAttributeType lttv_attribute_get_by_name(LttvAttribute *self, LttvAttributeValue lttv_attribute_add(LttvAttribute *self, LttvAttributeName name, LttvAttributeType t); +LttvAttributeValue lttv_attribute_add_unnamed(LttvAttribute *self, + LttvAttributeName name, LttvAttributeType t); /* Remove an attribute */ @@ -100,6 +105,10 @@ void lttv_attribute_remove_by_name(LttvAttribute *self, LttvAttribute* lttv_attribute_find_subdir(LttvAttribute *self, LttvAttributeName name); +LttvAttribute* lttv_attribute_find_subdir_unnamed(LttvAttribute *self, + LttvAttributeName name); + + gboolean lttv_attribute_find(LttvAttribute *self, LttvAttributeName name, LttvAttributeType t, LttvAttributeValue *v); @@ -107,7 +116,8 @@ gboolean lttv_attribute_find(LttvAttribute *self, LttvAttributeName name, /* Free recursively a tree of attributes. All contained gobject of type LttvAttribute are freed (unreferenced) recursively. */ -void lttv_attribute_recursive_free(LttvAttribute *self); +// Now done by default. +// void lttv_attribute_recursive_free(LttvAttribute *self); /* Add items from a tree of attributes to another tree. */