API Fix : handle id to use the public functions
authorJulien Desfossez <julien.desfossez@efficios.com>
Mon, 26 Mar 2012 20:41:56 +0000 (16:41 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 26 Mar 2012 20:41:56 +0000 (16:41 -0400)
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>
include/babeltrace/trace-handle.h
lib/trace-handle.c

index 85b113aa6144efced1ec568413ce6f5dcb1df8a4..d188cb70f8367eefa6dab74be5842dc9c4e5d6f4 100644 (file)
  */
 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 */
index 5a8a2192a98c004ebcde27528fc5b8f43c624178..6ba3ec208806540e774c784eef151999c12e1c40 100644 (file)
@@ -46,17 +46,29 @@ int bt_trace_handle_get_id(struct bt_trace_handle *th)
        return th->id;
 }
 
        return th->id;
 }
 
-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)
 {
 {
-       return th->path;
+       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;
 }
 }
This page took 0.035862 seconds and 4 git commands to generate.