/*
+ * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
* Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
- * Copyright 2017 Philippe Proulx <pproulx@efficios.com>
*
* Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
#define BT_LOG_TAG "PLUGIN"
#include <babeltrace/lib-logging-internal.h>
+#include <babeltrace/assert-internal.h>
+#include <babeltrace/assert-pre-internal.h>
#include <babeltrace/babeltrace-internal.h>
#include <babeltrace/compiler-internal.h>
-#include <babeltrace/object.h>
#include <babeltrace/common-internal.h>
#include <babeltrace/plugin/plugin-internal.h>
#include <babeltrace/plugin/plugin-so-internal.h>
#include <babeltrace/plugin/plugin-const.h>
-#include <babeltrace/graph/component-class.h>
+#include <babeltrace/graph/component-class-const.h>
#include <babeltrace/graph/component-class-internal.h>
#include <babeltrace/types.h>
-#include <babeltrace/assert-internal.h>
-#include <babeltrace/assert-pre-internal.h>
#include <glib.h>
#include <unistd.h>
#include <stdlib.h>
return g_ptr_array_index(comp_classes, index);
}
-
-struct bt_component_class_source *
+const struct bt_component_class_source *
bt_plugin_borrow_source_component_class_by_index_const_const(
const struct bt_plugin *plugin, uint64_t index)
{
- return (void *) borrow_component_class_by_index(plugin,
+ return (const void *) borrow_component_class_by_index(plugin,
plugin->src_comp_classes, index);
}
-struct bt_component_class_filter *
+const struct bt_component_class_filter *
bt_plugin_borrow_filter_component_class_by_index_const(
const struct bt_plugin *plugin, uint64_t index)
{
- return (void *) borrow_component_class_by_index(plugin,
+ return (const void *) borrow_component_class_by_index(plugin,
plugin->flt_comp_classes, index);
}
-struct bt_component_class_sink *
+const struct bt_component_class_sink *
bt_plugin_borrow_sink_component_class_by_index_const(
const struct bt_plugin *plugin, uint64_t index)
{
- return (void *) borrow_component_class_by_index(plugin,
+ return (const void *) borrow_component_class_by_index(plugin,
plugin->sink_comp_classes, index);
}
return comp_class;
}
-struct bt_component_class_source *
+const struct bt_component_class_source *
bt_plugin_borrow_source_component_class_by_name_const(
const struct bt_plugin *plugin, const char *name)
{
- return (void *) borrow_component_class_by_name(plugin,
+ return (const void *) borrow_component_class_by_name(plugin,
plugin->src_comp_classes, name);
}
-struct bt_component_class_filter *
+const struct bt_component_class_filter *
bt_plugin_borrow_filter_component_class_by_name_const(
const struct bt_plugin *plugin, const char *name)
{
- return (void *) borrow_component_class_by_name(plugin,
+ return (const void *) borrow_component_class_by_name(plugin,
plugin->flt_comp_classes, name);
}
-struct bt_component_class_sink *
+const struct bt_component_class_sink *
bt_plugin_borrow_sink_component_class_by_name_const(
const struct bt_plugin *plugin, const char *name)
{
- return (void *) borrow_component_class_by_name(plugin,
+ return (const void *) borrow_component_class_by_name(plugin,
plugin->sink_comp_classes, name);
}
+
+void bt_plugin_get_ref(const struct bt_plugin *plugin)
+{
+ bt_object_get_ref(plugin);
+}
+
+void bt_plugin_put_ref(const struct bt_plugin *plugin)
+{
+ bt_object_put_ref(plugin);
+}
+
+void bt_plugin_set_get_ref(const struct bt_plugin_set *plugin_set)
+{
+ bt_object_get_ref(plugin_set);
+}
+
+void bt_plugin_set_put_ref(const struct bt_plugin_set *plugin_set)
+{
+ bt_object_put_ref(plugin_set);
+}