X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fplugin%2Fplugin-internal.h;h=ac0217207bcfca61f068df44cc083d43f151afbc;hb=6ba0b073d3cc5040234aad3ab820b7ca4022e3e9;hp=83654c17d54e436e14b71c4f43d02d64b168f584;hpb=3f29fd91d07bad647861ccda49d1515f6f927a0a;p=babeltrace.git diff --git a/include/babeltrace/plugin/plugin-internal.h b/include/babeltrace/plugin/plugin-internal.h index 83654c17..ac021720 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,25 +28,38 @@ */ #include -#include +#include +#include +#include +#include -#ifdef __cplusplus -extern "C" { -#endif +struct bt_plugin_shared_lib_handle { + struct bt_object base; + GString *path; + GModule *module; -struct bt_notification; + /* True if initialization function was called */ + bool init_called; + bt_plugin_exit_func exit; +}; struct bt_plugin { - 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; + + /* Pointers to plugin's memory: do NOT free */ + const struct __bt_plugin_descriptor *descriptor; + const char *name; + const char *author; + const char *license; + const char *description; + bt_plugin_init_func init; +}; -#endif /* BABELTRACE_PLUGIN_INTERNAL_H */ +#endif /* BABELTRACE_PLUGIN_PLUGIN_INTERNAL_H */