#define BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H
/*
+ * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
- * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
- *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
#include <babeltrace/babeltrace-internal.h>
#include <babeltrace/graph/component-class-internal.h>
-#include <babeltrace/plugin/plugin.h>
+#include <babeltrace/plugin/plugin-const.h>
#include <babeltrace/plugin/plugin-dev.h>
#include <babeltrace/plugin/plugin-so-internal.h>
#include <babeltrace/object-internal.h>
-#include <babeltrace/object.h>
#include <babeltrace/types.h>
#include <babeltrace/assert-internal.h>
+#include <babeltrace/lib-logging-internal.h>
#include <glib.h>
enum bt_plugin_type {
BT_PLUGIN_TYPE_PYTHON = 1,
};
+enum bt_plugin_status {
+ BT_PLUGIN_STATUS_OK = 0,
+ BT_PLUGIN_STATUS_ERROR = -1,
+ BT_PLUGIN_STATUS_NOMEM = -12,
+};
+
struct bt_plugin {
struct bt_object base;
enum bt_plugin_type type;
}
/* Add new component class */
- g_ptr_array_add(comp_classes, bt_object_get_ref(comp_class));
+ bt_object_get_ref(comp_class);
+ g_ptr_array_add(comp_classes, comp_class);
/* Special case for a shared object plugin */
if (plugin->type == BT_PLUGIN_TYPE_SO) {
{
BT_ASSERT(plugin_set);
BT_ASSERT(plugin);
- g_ptr_array_add(plugin_set->plugins, bt_object_get_ref(plugin));
+ bt_object_get_ref(plugin);
+ g_ptr_array_add(plugin_set->plugins, plugin);
BT_LIB_LOGV("Added plugin to plugin set: "
"plugin-set-addr=%p, %![plugin-]+l",
plugin_set, plugin);