Fix : only one iterator per context
[babeltrace.git] / include / babeltrace / context-internal.h
1 #ifndef _BABELTRACE_CONTEXT_INTERNAL_H
2 #define _BABELTRACE_CONTEXT_INTERNAL_H
3
4 /*
5 * BabelTrace
6 *
7 * context header (internal)
8 *
9 * Copyright 2012 EfficiOS Inc. and Linux Foundation
10 *
11 * Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 * Julien Desfossez <julien.desfossez@efficios.com>
13 *
14 * Permission is hereby granted, free of charge, to any person obtaining
15 * a copy of this software and associated documentation files (the
16 * "Software"), to deal in the Software without restriction, including
17 * without limitation the rights to use, copy, modify, merge, publish,
18 * distribute, sublicense, and/or sell copies of the Software, and to
19 * permit persons to whom the Software is furnished to do so, subject to
20 * the following conditions:
21 *
22 * The above copyright notice and this permission notice shall be
23 * included in all copies or substantial portions of the Software.
24 */
25
26 #include <glib.h>
27
28 struct trace_collection;
29 struct GHashTable;
30
31 /*
32 * The context represents the object in which a trace_collection is
33 * open. As long as this structure is allocated, the trace_collection is
34 * open and the traces it contains can be read and seeked by the
35 * iterators and callbacks.
36 *
37 * It has to be created with the bt_context_create() function and
38 * destroyed by calling one more bt_context_put() than bt_context_get()
39 */
40 struct bt_context {
41 struct trace_collection *tc;
42 GHashTable *trace_handles;
43 int refcount;
44 int last_trace_handle_id;
45 struct bt_iter *current_iterator;
46 };
47
48 #endif /* _BABELTRACE_CONTEXT_INTERNAL_H */
This page took 0.041736 seconds and 4 git commands to generate.