lib: make the "port connected" method return a status
[babeltrace.git] / include / babeltrace / graph / clock-class-priority-map.h
index f810a4436d80fb819f773bbbc2823ddc56997c55..93f05ab83514e7d0f60941fbb0575abd9aab8f4e 100644 (file)
  * http://www.efficios.com/ctf
  */
 
+/* For bt_get() */
+#include <babeltrace/ref.h>
+
 #include <stdint.h>
 #include <stddef.h>
-#include <babeltrace/values.h>
-#include <babeltrace/ctf-ir/clock-class.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct bt_clock_class;
+
 /**
 @defgroup graphclockclassprioritymap Clock class priority map
 @ingroup graph
@@ -93,7 +96,7 @@ struct bt_clock_class_priority_map;
 
 @postsuccessrefcountret1
 */
-extern struct bt_clock_class_priority_map *bt_clock_class_priority_map_create();
+extern struct bt_clock_class_priority_map *bt_clock_class_priority_map_create(void);
 
 /**
 @brief Returns the number of CTF IR clock classes contained in the
@@ -112,6 +115,11 @@ extern struct bt_clock_class_priority_map *bt_clock_class_priority_map_create();
 extern int64_t bt_clock_class_priority_map_get_clock_class_count(
                struct bt_clock_class_priority_map *clock_class_priority_map);
 
+extern struct bt_clock_class *
+bt_clock_class_priority_map_borrow_clock_class_by_index(
+               struct bt_clock_class_priority_map *clock_class_priority_map,
+               uint64_t index);
+
 /**
 @brief  Returns the CTF IR clock class at index \p index in the clock
        class priority map \p clock_class_priority_map.
@@ -139,9 +147,20 @@ extern int64_t bt_clock_class_priority_map_get_clock_class_count(
 @sa bt_clock_class_priority_map_add_clock_class(): Adds a clock class
        to a clock class priority map.
 */
-extern struct bt_ctf_clock_class *bt_clock_class_priority_map_get_clock_class(
+static inline
+struct bt_clock_class *
+bt_clock_class_priority_map_get_clock_class_by_index(
+               struct bt_clock_class_priority_map *clock_class_priority_map,
+               uint64_t index)
+{
+       return bt_get(bt_clock_class_priority_map_borrow_clock_class_by_index(
+               clock_class_priority_map, index));
+}
+
+extern struct bt_clock_class *
+bt_clock_class_priority_map_borrow_clock_class_by_name(
                struct bt_clock_class_priority_map *clock_class_priority_map,
-               unsigned int index);
+               const char *name);
 
 /**
 @brief  Returns the CTF IR clock class named \c name found in the clock
@@ -161,7 +180,7 @@ extern struct bt_ctf_clock_class *bt_clock_class_priority_map_get_clock_class(
 @postrefcountsame{clock_class_priority_map}
 @postsuccessrefcountretinc
 
-@sa bt_clock_class_priority_map_get_clock_class(): Returns the clock
+@sa bt_clock_class_priority_map_get_clock_class_by_index(): Returns the clock
        class contained in a given clock class priority map at
        a given index.
 @sa bt_clock_class_priority_map_get_highest_priority_clock_class():
@@ -170,10 +189,18 @@ extern struct bt_ctf_clock_class *bt_clock_class_priority_map_get_clock_class(
 @sa bt_clock_class_priority_map_add_clock_class(): Adds a clock class
        to a clock class priority map.
 */
-extern struct bt_ctf_clock_class *
-bt_clock_class_priority_map_get_clock_class_by_name(
+static inline
+struct bt_clock_class *bt_clock_class_priority_map_get_clock_class_by_name(
                struct bt_clock_class_priority_map *clock_class_priority_map,
-               const char *name);
+               const char *name)
+{
+       return bt_get(bt_clock_class_priority_map_borrow_clock_class_by_name(
+               clock_class_priority_map, name));
+}
+
+extern struct bt_clock_class *
+bt_clock_class_priority_map_borrow_highest_priority_clock_class(
+               struct bt_clock_class_priority_map *clock_class_priority_map);
 
 /**
 @brief  Returns the CTF IR clock class with the currently highest
@@ -198,7 +225,7 @@ this function returns.
 @postrefcountsame{clock_class_priority_map}
 @postsuccessrefcountretinc
 
-@sa bt_clock_class_priority_map_get_clock_class(): Returns the clock
+@sa bt_clock_class_priority_map_get_clock_class_by_index(): Returns the clock
        class contained in a given clock class priority map at
        a given index.
 @sa bt_clock_class_priority_map_get_clock_class_by_name(): Finds a
@@ -206,9 +233,15 @@ this function returns.
 @sa bt_clock_class_priority_map_add_clock_class(): Adds a clock class
        to a clock class priority map.
 */
-extern struct bt_ctf_clock_class *
+static inline
+struct bt_clock_class *
 bt_clock_class_priority_map_get_highest_priority_clock_class(
-               struct bt_clock_class_priority_map *clock_class_priority_map);
+               struct bt_clock_class_priority_map *clock_class_priority_map)
+{
+       return bt_get(
+               bt_clock_class_priority_map_borrow_highest_priority_clock_class(
+                       clock_class_priority_map));
+}
 
 /**
 @brief  Returns the priority of the CTF IR clock class \p clock_class
@@ -240,7 +273,7 @@ bt_clock_class_priority_map_get_highest_priority_clock_class(
 */
 extern int bt_clock_class_priority_map_get_clock_class_priority(
                struct bt_clock_class_priority_map *clock_class_priority_map,
-               struct bt_ctf_clock_class *clock_class, uint64_t *priority);
+               struct bt_clock_class *clock_class, uint64_t *priority);
 
 /**
 @brief Adds the CTF IR clock class \p clock_class to the clock class
@@ -270,7 +303,7 @@ map.
 @postrefcountsame{clock_class_priority_map}
 @postsuccessrefcountinc{clock_class}
 
-@sa bt_clock_class_priority_map_get_clock_class(): Returns the clock
+@sa bt_clock_class_priority_map_get_clock_class_by_index(): Returns the clock
        class contained in a given clock class priority map
        at a given index.
 @sa bt_clock_class_priority_map_get_clock_class_by_name(): Finds a
@@ -278,7 +311,7 @@ map.
 */
 extern int bt_clock_class_priority_map_add_clock_class(
                struct bt_clock_class_priority_map *clock_class_priority_map,
-               struct bt_ctf_clock_class *clock_class, uint64_t priority);
+               struct bt_clock_class *clock_class, uint64_t priority);
 
 /**
 @brief Creates a copy of the clock class priority map
This page took 0.031304 seconds and 4 git commands to generate.