X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-writer%2Fstream-class.h;h=32096086cb3ea38816cee2c4f09a46dece9e9cd8;hb=8c18d80b69a10f94980d33e6f1c1bdb26b447487;hp=2f6c8bdbba55a560012b90d7a72c5a12fdc2731c;hpb=faec0807cd032e833756c134daecb3668a780cf9;p=babeltrace.git diff --git a/include/babeltrace/ctf-writer/stream-class.h b/include/babeltrace/ctf-writer/stream-class.h index 2f6c8bdb..32096086 100644 --- a/include/babeltrace/ctf-writer/stream-class.h +++ b/include/babeltrace/ctf-writer/stream-class.h @@ -1,3 +1,6 @@ +#ifndef BABELTRACE_CTF_WRITER_STREAM_CLASS_H +#define BABELTRACE_CTF_WRITER_STREAM_CLASS_H + /* * BabelTrace - CTF Writer: Stream Class * @@ -28,3 +31,32 @@ */ #include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * bt_ctf_stream_class_get and bt_ctf_stream_class_put: increment and + * decrement the stream class' reference count. + * + * You may also use bt_ctf_get() and bt_ctf_put() with stream class objects. + * + * These functions ensure that the stream class won't be destroyed while 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 stream class. + * + * When the stream class' reference count is decremented to 0 by a + * bt_ctf_stream_class_put, the stream class is freed. + * + * @param stream_class Stream class. + */ +extern void bt_ctf_stream_class_get(struct bt_ctf_stream_class *stream_class); +extern void bt_ctf_stream_class_put(struct bt_ctf_stream_class *stream_class); + +#ifdef __cplusplus +} +#endif + +#endif /* BABELTRACE_CTF_WRITER_STREAM_CLASS_H */