The API functions were designed to be used with struct trace_handle as
parameters, but no public function returns such a struct.
This patch fixes that by allowing the user to pass the context and the
handle_id.
Acked-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*/
struct bt_trace_handle;
*/
struct bt_trace_handle;
-/*
- * bt_trace_handle_get_id: returns the id associated to the handle.
- */
-int bt_trace_handle_get_id(struct bt_trace_handle *th);
-
/*
* bt_trace_handle_get_path : returns the path of a trace_handle.
*/
/*
* bt_trace_handle_get_path : returns the path of a trace_handle.
*/
-const char *bt_trace_handle_get_path(struct bt_trace_handle *th);
+const char *bt_trace_handle_get_path(struct bt_context *ctx, int handle_id);
/*
* bt_trace_handle_get_timestamp_begin : returns the beginning timestamp
* of a trace.
*/
/*
* bt_trace_handle_get_timestamp_begin : returns the beginning timestamp
* of a trace.
*/
-uint64_t bt_trace_handle_get_timestamp_begin(struct bt_trace_handle *th);
+uint64_t bt_trace_handle_get_timestamp_begin(struct bt_context *ctx, int handle_id);
/*
* bt_trace_handle_get_timestamp_end : returns the end timestamp of a
* trace.
*/
/*
* bt_trace_handle_get_timestamp_end : returns the end timestamp of a
* trace.
*/
-uint64_t bt_trace_handle_get_timestamp_end(struct bt_trace_handle *th);
+uint64_t bt_trace_handle_get_timestamp_end(struct bt_context *ctx, int handle_id);
#endif /* _BABELTRACE_TRACE_HANDLE_H */
#endif /* _BABELTRACE_TRACE_HANDLE_H */
-const char *bt_trace_handle_get_path(struct bt_trace_handle *th)
+const char *bt_trace_handle_get_path(struct bt_context *ctx, int handle_id)
+ struct bt_trace_handle *handle;
+
+ handle = g_hash_table_lookup(ctx->trace_handles,
+ (gpointer) (unsigned long) handle_id);
+ return handle->path;
-uint64_t bt_trace_handle_get_timestamp_begin(struct bt_trace_handle *th)
+uint64_t bt_trace_handle_get_timestamp_begin(struct bt_context *ctx, int handle_id)
- return th->timestamp_begin;
+ struct bt_trace_handle *handle;
+
+ handle = g_hash_table_lookup(ctx->trace_handles,
+ (gpointer) (unsigned long) handle_id);
+ return handle->timestamp_begin;
-uint64_t bt_trace_handle_get_timestamp_end(struct bt_trace_handle *th)
+uint64_t bt_trace_handle_get_timestamp_end(struct bt_context *ctx, int handle_id)
- return th->timestamp_end;
+ struct bt_trace_handle *handle;
+
+ handle = g_hash_table_lookup(ctx->trace_handles,
+ (gpointer) (unsigned long) handle_id);
+ return handle->timestamp_end;