X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fplugin%2Fplugin-internal.h;h=0509be4485dd32d844459c4f3e861a3cff9f3666;hb=cbb9e0b1ec169269733bcd689294b1fd8be59a2c;hp=a05053182705d082892159443b5ebe635c5a8b58;hpb=9900dfa70bfcad56a2647a1ec9e0edd44403849f;p=babeltrace.git diff --git a/include/babeltrace/plugin/plugin-internal.h b/include/babeltrace/plugin/plugin-internal.h index a0505318..0509be44 100644 --- a/include/babeltrace/plugin/plugin-internal.h +++ b/include/babeltrace/plugin/plugin-internal.h @@ -1,8 +1,8 @@ -#ifndef BABELTRACE_PLUGIN_INTERNAL_H -#define BABELTRACE_PLUGIN_INTERNAL_H +#ifndef BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H +#define BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H /* - * BabelTrace - Plug-in internal + * BabelTrace - Plug-in Internal * * Copyright 2015 Jérémie Galarneau * @@ -28,27 +28,35 @@ */ #include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct bt_notification; +#include +#include +#include +#include + +struct bt_plugin_shared_lib_handle { + struct bt_object base; + GString *path; + GModule *module; + bool init_called; + + /* The members below belong to the shared library */ + const char *name; + const char *author; + const char *license; + const char *description; + bt_plugin_init_func init; + bt_plugin_exit_func exit; +}; struct bt_plugin { - struct bt_ctf_ref ref_count; - GString *name; - enum bt_plugin_type type; + struct bt_object base; + bool frozen; - /* Plug-in implementation callbacks */ - bt_plugin_destroy_cb destroy; - bt_plugin_set_error_stream_cb set_error_stream; -}; + /* Owned by this */ + struct bt_plugin_shared_lib_handle *shared_lib_handle; -#ifdef __cplusplus -} -#endif + /* Array of pointers to bt_component_class (owned by this) */ + GPtrArray *comp_classes; +}; -#endif /* BABELTRACE_PLUGIN_INTERNAL_H */ +#endif /* BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H */