Fix header guard
[babeltrace.git] / plugins / component-class.c
index 191efdcb1ef8869e809b97d3e77462b5f7a9d7b1..49d6c3464412ac7367ad01766267c3a0a1a383d1 100644 (file)
 
 #include <babeltrace/compiler.h>
 #include <babeltrace/plugin/component-class-internal.h>
+#include <babeltrace/ref.h>
 #include <glib.h>
 
 static
-void bt_component_class_destroy(struct bt_ref *ref)
+void bt_component_class_destroy(struct bt_object *obj)
 {
        struct bt_component_class *class;
 
-       assert(ref);
-       class = container_of(ref, struct bt_component_class, ref);
+       assert(obj);
+       class = container_of(obj, struct bt_component_class, base);
        if (class->name) {
                g_string_free(class->name, TRUE);
        }
-       bt_plugin_put(class->plugin);
+
+       bt_put(class->plugin);
        g_free(class);
 }
 
@@ -56,36 +58,35 @@ struct bt_component_class *bt_component_class_create(
                goto end;
        }
 
-       bt_ref_init(&class->ref, bt_component_class_destroy);
+       bt_object_init(class, bt_component_class_destroy);
        class->type = type;
        class->name = g_string_new(name);
        if (!class->name) {
-               bt_component_class_put(class);
-               class = NULL;
+               BT_PUT(class);
                goto end;
        }
-       bt_plugin_get(plugin);
-       class->plugin = plugin;
+
+       class->plugin = bt_get(plugin);
 end:
        return class;
 }
 
-BT_HIDDEN
-void bt_component_class_get(struct bt_component_class *class)
+const char *bt_component_class_get_name(
+               struct bt_component_class *component_class)
 {
-       if (!class) {
-               return;
-       }
-
-       bt_ref_get(&class->ref);
+       return component_class ? component_class->name->str : NULL;
 }
 
-BT_HIDDEN
-void bt_component_class_put(struct bt_component_class *class)
+enum bt_component_type bt_component_class_get_type(
+               struct bt_component_class *component_class)
 {
-       if (!class) {
-               return;
-       }
+       return component_class ? component_class->type :
+                       BT_COMPONENT_TYPE_UNKNOWN;
+}
 
-       bt_ref_put(&class->ref);
+struct bt_plugin *bt_component_class_get_plugin(
+               struct bt_component_class *component_class)
+{
+       return component_class ? bt_get(component_class->plugin) :
+                       NULL;
 }
This page took 0.024395 seconds and 4 git commands to generate.