X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-writer%2Fevent-fields.h;h=f99f6812020a1789b29ac105cbc3056165ca445a;hb=7e69c04f557e46fb50e5a888a3bc3451afbd3b8e;hp=b5d8ccbc5c52d47f7b3235cd5557df0854f832d9;hpb=de9dd3975ba39e915d7e046877af9059990c595e;p=babeltrace.git diff --git a/include/babeltrace/ctf-writer/event-fields.h b/include/babeltrace/ctf-writer/event-fields.h index b5d8ccbc..f99f6812 100644 --- a/include/babeltrace/ctf-writer/event-fields.h +++ b/include/babeltrace/ctf-writer/event-fields.h @@ -1,6 +1,7 @@ +#ifndef BABELTRACE_CTF_WRITER_EVENT_FIELDS_H +#define BABELTRACE_CTF_WRITER_EVENT_FIELDS_H + /* - * BabelTrace - CTF Writer: Event Fields - * * Copyright 2013, 2014 Jérémie Galarneau * * Author: Jérémie Galarneau @@ -27,4 +28,47 @@ * http://www.efficios.com/ctf */ -#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * bt_ctf_field_get and bt_ctf_field_put: increment and decrement the + * field's reference count. + * + * You may also use bt_ctf_object_get_ref() and bt_ctf_object_put_ref() with field objects. + * + * These functions ensure that the field won't be destroyed when it + * is in use. The same number of get and put (plus one extra put to + * release the initial reference done at creation) have to be done to + * destroy a field. + * + * When the field's reference count is decremented to 0 by a bt_ctf_field_put, + * the field is freed. + * + * @param field Field instance. + */ + +/* Pre-2.0 CTF writer compatibility */ +static inline +void bt_ctf_field_get(struct bt_ctf_field *field) +{ + bt_ctf_object_get_ref(field); +} + +/* Pre-2.0 CTF writer compatibility */ +static inline +void bt_ctf_field_put(struct bt_ctf_field *field) +{ + bt_ctf_object_put_ref(field); +} + +#ifdef __cplusplus +} +#endif + +#endif /* BABELTRACE_CTF_WRITER_EVENT_FIELDS_H */