Babeltrace 2 C API  2.0.0
Open-source trace manipulation framework
Plugin development

Detailed Description

Shared object plugin development.

This module offers macros to create a Babeltrace 2 shared object plugin.

Behind the scenes, the BT_PLUGIN_*() macros of this module create and fill global tables which are located in sections of the shared object with specific names. The Plugin loading functions can load the resulting shared object file and create corresponding plugin objects.

See Compile and link a Babeltrace 2 shared object plugin.

Plugin definition C file structure

The structure of a Babeltrace 2 plugin definition C file is as such:

  1. Start with

  2. Define a Babeltrace 2 plugin with BT_PLUGIN() if the plugin's name is a valid C identifier, or with BT_PLUGIN_WITH_ID() otherwise.

    See Custom plugin ID to learn more about plugin IDs.

    Note
    When you use BT_PLUGIN(), the plugin's ID is auto.
  3. Optional: Use any of the following macros (or their *_WITH_ID() counterpart) once to set the properties of the plugin:

  4. Optional: Use any of the following macros (or their *_WITH_ID() counterpart) once to set the initialization and finalization functions of the plugin:

    A plugin's initialization function is executed when the shared object is loaded (see Plugin loading).

    A plugin's finalization function is executed when the plugin object is destroyed, if the initialization function (if any) succeeded.

  5. Use any of the following macros (or their *_WITH_ID() counterpart) to add a component class to the plugin:

  6. Optional: Depending on the type of the component class of step 5, use any of the following macros (or their *_WITH_ID() counterpart) once to set its properties:

    Source component class

    Filter component class

    Sink component class

  7. Optional: Depending on the type of the component class of step 5, use any of the following macros (or their *_WITH_ID() counterpart) to set its optional methods:

    Source component class

    Filter component class

    Sink component class

You can repeat steps 5 to 7 to add more than one component class to a given plugin.

See Simple shared object plugin definition C file for a concrete example of how to use the macros of this module.

Custom plugin ID

The BT_PLUGIN() macro defines a plugin with a specific name and the ID auto.

All the BT_PLUGIN_*() macros which do not end with _WITH_ID refer to the auto plugin.

There are two situations which demand that you use a custom plugin ID:

To define a plugin with a specific ID, use BT_PLUGIN_WITH_ID(), for example:

BT_PLUGIN_WITH_ID(my_plugin_id, "my-plugin-name");

Then, use the BT_PLUGIN_*_WITH_ID() macros to refer to this specific plugin, for example:

BT_PLUGIN_AUTHOR_WITH_ID(my_plugin_id, "Patrick Bouchard");
Note

You can still use the auto ID with BT_PLUGIN_WITH_ID() to use the simpler macros afterwards while still giving the plugin a name which is not a valid C identifier, for example:

BT_PLUGIN_WITH_ID(auto, "my-plugin-name");
BT_PLUGIN_AUTHOR("Patrick Bouchard");

Custom component class ID

The BT_PLUGIN_SOURCE_COMPONENT_CLASS(), BT_PLUGIN_FILTER_COMPONENT_CLASS(), and BT_PLUGIN_SINK_COMPONENT_CLASS() add a component class with a specific name to the plugin having the ID auto.

The name you pass to those macros must be a valid C identifier and it also serves as the component class's ID within the auto plugin.

There are two situations which demand that you use a custom component class ID:

For a given plugin and for a given component class type, all component class IDs must be unique.

To add a component class having a specific ID to a plugin, use the BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID(), BT_PLUGIN_FILTER_COMPONENT_CLASS_WITH_ID(), and BT_PLUGIN_SINK_COMPONENT_CLASS_WITH_ID() macros, for example:

BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID(my_plugin_id, my_comp_class_id,
"my-source", my_source_iter_next);
Note

The BT_PLUGIN_*_COMPONENT_CLASS_WITH_ID() macros specify the ID of the plugin to which to add the component class.

If you use the BT_PLUGIN() macro to define your plugin, then its ID is auto:

"my-source", my_source_iter_next);

Then, use the BT_PLUGIN_*_COMPONENT_CLASS_*_WITH_ID() macros to refer to this specific component class, for example:

my_comp_class_id, my_source_finalize);

Type

typedef struct bt_self_plugin bt_self_plugin
 Self plugin.
 

Plugin module

#define BT_PLUGIN_MODULE()
 Defines a plugin module. More...
 

Plugin definition

#define BT_PLUGIN_WITH_ID(_id, _name)
 Defines a plugin named _name and having the ID _id. More...
 
#define BT_PLUGIN(_name)
 Alias of BT_PLUGIN_WITH_ID() with the _id parameter set to auto.
 

Plugin properties

#define BT_PLUGIN_DESCRIPTION_WITH_ID(_id, _description)
 Sets the description of the plugin having the ID _id to _description. More...
 
#define BT_PLUGIN_DESCRIPTION(_description)
 Alias of BT_PLUGIN_DESCRIPTION_WITH_ID() with the _id parameter set to auto.
 
#define BT_PLUGIN_AUTHOR_WITH_ID(_id, _author)
 Sets the name(s) of the author(s) of the plugin having the ID _id to _author. More...
 
#define BT_PLUGIN_AUTHOR(_author)
 Alias of BT_PLUGIN_AUTHOR_WITH_ID() with the _id parameter set to auto.
 
#define BT_PLUGIN_LICENSE_WITH_ID(_id, _license)
 Sets the license (name or full) of the plugin having the ID _id to _license. More...
 
#define BT_PLUGIN_LICENSE(_license)
 Alias of BT_PLUGIN_LICENSE_WITH_ID() with the _id parameter set to auto.
 
#define BT_PLUGIN_VERSION_WITH_ID(_id, _major, _minor, _patch, _extra)
 Sets the version of the plugin having the ID _id to _version. More...
 
#define BT_PLUGIN_VERSION(_major, _minor, _patch, _extra)
 Alias of BT_PLUGIN_VERSION_WITH_ID() with the _id parameter set to auto.
 

Plugin functions

enum  bt_plugin_initialize_func_status {
  BT_PLUGIN_INITIALIZE_FUNC_STATUS_OK,
  BT_PLUGIN_INITIALIZE_FUNC_STATUS_MEMORY_ERROR,
  BT_PLUGIN_INITIALIZE_FUNC_STATUS_ERROR
}
 Status codes for bt_plugin_initialize_func. More...
 
typedef enum bt_plugin_initialize_func_status bt_plugin_initialize_func_status
 Status codes for bt_plugin_initialize_func.
 
typedef bt_plugin_initialize_func_status(* bt_plugin_initialize_func) (bt_self_plugin *self_plugin)
 User plugin initialization function. More...
 
typedef void(* bt_plugin_finalize_func) (void)
 User plugin finalization function.
 
#define BT_PLUGIN_INITIALIZE_FUNC_WITH_ID(_id, _func)
 Sets the initialization function of the plugin having the ID _id to _func. More...
 
#define BT_PLUGIN_INITIALIZE_FUNC(_func)
 Alias of BT_PLUGIN_INITIALIZE_FUNC_WITH_ID() with the _id parameter set to auto.
 
#define BT_PLUGIN_FINALIZE_FUNC_WITH_ID(_id, _func)
 Sets the finalization function of the plugin having the ID _id to _func. More...
 
#define BT_PLUGIN_FINALIZE_FUNC(_func)
 Alias of BT_PLUGIN_FINALIZE_FUNC_WITH_ID() with the _id parameter set to auto.
 

Component class adding

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID(_plugin_id, _component_class_id, _name, _message_iterator_class_next_method)
 Adds a source component class named _name, having the ID _component_class_id and the message iterator class's "next" method _message_iterator_class_next_method, to the plugin having the ID _plugin_id. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS(_name, _message_iterator_class_next_method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID() with the _plugin_id parameter set to auto, the _component_class_id parameter set to _name, and the _name parameter set to a string version of _name. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_WITH_ID(_plugin_id, _component_class_id, _name, _message_iterator_class_next_method)
 Adds a filter component class named _name, having the ID _component_class_id and the message iterator class's "next" method _message_iterator_class_next_method, to the plugin having the ID _plugin_id. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS(_name, _message_iterator_class_next_method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_WITH_ID() with the _plugin_id parameter set to auto, the _component_class_id parameter set to _name, and the _name parameter set to a string version of _name. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_WITH_ID(_plugin_id, _component_class_id, _name, _consume_method)
 Adds a sink component class named _name, having the ID _component_class_id and the consuming method _consume_method, to the plugin having the ID _plugin_id. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS(_name, _consume_method)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_WITH_ID() with the _plugin_id parameter set to auto, the _component_class_id parameter set to _name, and the _name parameter set to a string version of _name. More...
 

Source component class properties

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION_WITH_ID(_plugin_id, _component_class_id, _description)
 Sets the description of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _description. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION(_name, _description)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_HELP_WITH_ID(_plugin_id, _component_class_id, _help_text)
 Sets the help text of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _help_text. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_HELP(_name, _help_text)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_HELP_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 

Filter component class properties

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION_WITH_ID(_plugin_id, _component_class_id, _description)
 Sets the description of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _description. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(_name, _description)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_HELP_WITH_ID(_plugin_id, _component_class_id, _help_text)
 Sets the help text of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _help_text. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_HELP(_name, _help_text)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_HELP_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 

Sink component class properties

#define BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION_WITH_ID(_plugin_id, _component_class_id, _description)
 Sets the description of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _description. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(_name, _description)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_HELP_WITH_ID(_plugin_id, _component_class_id, _help_text)
 Sets the help text of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _help_text. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_HELP(_name, _help_text)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_HELP_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 

Source component class methods

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the finalization method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "get supported Message Interchange Protocol versions" method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD(_name, _method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the initialization method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_INITIALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the finalization method of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the initialization method of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS_WITH_ID(_plugin_id, _component_class_id, _seek_method, _can_seek_method)
 Sets the "seek beginning" and "can seek beginning?" methods of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS(_name, _seek_method, _can_seek_method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID(_plugin_id, _component_class_id, _seek_method, _can_seek_method)
 Sets the "seek ns from origin" and "can seek ns from origin?" methods of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS(_name, _seek_method, _can_seek_method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "output port connected" method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD(_name, _method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_QUERY_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the query method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_QUERY_METHOD(_name, _method)
 Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_QUERY_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 

Filter component class methods

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the finalization method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "get supported Message Interchange Protocol versions" method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the initialization method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_INITIALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "input port connected" method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the finalization method of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the initialization method of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS_WITH_ID(_plugin_id, _component_class_id, _seek_method, _can_seek_method)
 Sets the "seek beginning" and "can seek beginning?" methods of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS(_name, _seek_method, _can_seek_method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID(_plugin_id, _component_class_id, _seek_method, _can_seek_method)
 Sets the "seek ns from origin" and "can seek ns from origin?" methods of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS(_name, _seek_method, _can_seek_method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "output port connected" method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the query method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD(_name, _method)
 Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 

Sink component class methods

#define BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the finalization method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "get supported Message Interchange Protocol versions" method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD(_name, _method)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "graph is configured" method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD(_name, _method)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the initialization method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_INITIALIZE_METHOD(_name, _method)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the "input port connected" method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD(_name, _method)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_QUERY_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
 Sets the query method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method. More...
 
#define BT_PLUGIN_SINK_COMPONENT_CLASS_QUERY_METHOD(_name, _method)
 Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_QUERY_METHOD_WITH_ID() with the _plugin_id parameter set to auto and the _component_class_id parameter set to _name.
 

Typedef Documentation

◆ bt_plugin_initialize_func

typedef bt_plugin_initialize_func_status(* bt_plugin_initialize_func) (bt_self_plugin *self_plugin)

User plugin initialization function.

Parameters
[in]self_plugin

Plugin instance.

This parameter is a private view of the plugin object for this function.

As of Babeltrace 2.0, there's no self plugin API.

Return values
BT_PLUGIN_INITIALIZE_FUNC_STATUS_OKSuccess.
BT_PLUGIN_INITIALIZE_FUNC_STATUS_MEMORY_ERROROut of memory.
BT_PLUGIN_INITIALIZE_FUNC_STATUS_ERRORError.
Precondition
self_plugin is not NULL.

Enumeration Type Documentation

◆ bt_plugin_initialize_func_status

Status codes for bt_plugin_initialize_func.

Enumerator
BT_PLUGIN_INITIALIZE_FUNC_STATUS_OK 

Success.

BT_PLUGIN_INITIALIZE_FUNC_STATUS_MEMORY_ERROR 

Out of memory.

BT_PLUGIN_INITIALIZE_FUNC_STATUS_ERROR 

Error.

Macro Definition Documentation

◆ BT_PLUGIN_MODULE

#define BT_PLUGIN_MODULE ( )

Defines a plugin module.

In a plugin define C file, you must use this macro before you use any other BT_PLUGIN*() macro.

◆ BT_PLUGIN_WITH_ID

#define BT_PLUGIN_WITH_ID (   _id,
  _name 
)

Defines a plugin named _name and having the ID _id.

Parameters
[in]_id

C identifier.

Plugin's ID, unique amongst all the plugin IDs of the same shared object.

[in]_name

const char *

Plugin's name.

Precondition
_name is not NULL.

◆ BT_PLUGIN_DESCRIPTION_WITH_ID

#define BT_PLUGIN_DESCRIPTION_WITH_ID (   _id,
  _description 
)

Sets the description of the plugin having the ID _id to _description.

See the description property.

Parameters
[in]_id

C identifier.

ID of the plugin of which to set the description.

[in]_description

const char *

Plugin's description.

Precondition
_description is not NULL.

◆ BT_PLUGIN_AUTHOR_WITH_ID

#define BT_PLUGIN_AUTHOR_WITH_ID (   _id,
  _author 
)

Sets the name(s) of the author(s) of the plugin having the ID _id to _author.

See the author name(s) property.

Parameters
[in]_id

C identifier.

ID of the plugin of which to set the author(s).

[in]_author

const char *

Plugin's author(s).

Precondition
_author is not NULL.

◆ BT_PLUGIN_LICENSE_WITH_ID

#define BT_PLUGIN_LICENSE_WITH_ID (   _id,
  _license 
)

Sets the license (name or full) of the plugin having the ID _id to _license.

See the license property.

Parameters
[in]_id

C identifier.

ID of the plugin of which to set the license.

[in]_license

const char *

Plugin's license.

Precondition
_license is not NULL.

◆ BT_PLUGIN_VERSION_WITH_ID

#define BT_PLUGIN_VERSION_WITH_ID (   _id,
  _major,
  _minor,
  _patch,
  _extra 
)

Sets the version of the plugin having the ID _id to _version.

See the version property.

Parameters
[in]_id

C identifier.

ID of the plugin of which to set the version.

[in]_major

unsigned int

Plugin's major version.

[in]_minor

unsigned int

Plugin's minor version.

[in]_patch

unsigned int

Plugin's patch version.

[in]_extra

const char *

Plugin's version's extra information.

Can be NULL if the plugin's version has no extra information.

◆ BT_PLUGIN_INITIALIZE_FUNC_WITH_ID

#define BT_PLUGIN_INITIALIZE_FUNC_WITH_ID (   _id,
  _func 
)

Sets the initialization function of the plugin having the ID _id to _func.

Parameters
[in]_id

C identifier.

ID of the plugin of which to set the initialization function.

[in]_func

bt_plugin_initialize_func

Plugin's initialization function.

Precondition
_func is not NULL.

◆ BT_PLUGIN_FINALIZE_FUNC_WITH_ID

#define BT_PLUGIN_FINALIZE_FUNC_WITH_ID (   _id,
  _func 
)

Sets the finalization function of the plugin having the ID _id to _func.

Parameters
[in]_id

C identifier.

ID of the plugin of which to set the finalization function.

[in]_func

bt_plugin_finalize_func

Plugin's finalization function.

Precondition
_func is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID (   _plugin_id,
  _component_class_id,
  _name,
  _message_iterator_class_next_method 
)

Adds a source component class named _name, having the ID _component_class_id and the message iterator class's "next" method _message_iterator_class_next_method, to the plugin having the ID _plugin_id.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin to which to add the source component class.

[in]_component_class_id

C identifier.

Source component class's ID, unique amongst all the source component class IDs of the same plugin.

[in]_name

const char *

Source component class's name, unique amongst all the source component class names of the same plugin.

[in]_message_iterator_class_next_method

bt_message_iterator_class_next_method

Source component class's message iterator class's "next" method.

Precondition
_name is not NULL.
_message_iterator_class_next_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS (   _name,
  _message_iterator_class_next_method 
)

Alias of BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID() with the _plugin_id parameter set to auto, the _component_class_id parameter set to _name, and the _name parameter set to a string version of _name.

Parameters
[in]_name

C identifier

Passed as both the _component_class_id and the _name (once converted to a string) parameters of BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID().

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_WITH_ID (   _plugin_id,
  _component_class_id,
  _name,
  _message_iterator_class_next_method 
)

Adds a filter component class named _name, having the ID _component_class_id and the message iterator class's "next" method _message_iterator_class_next_method, to the plugin having the ID _plugin_id.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin to which to add the filter component class.

[in]_component_class_id

C identifier.

Filter component class's ID, unique amongst all the filter component class IDs of the same plugin.

[in]_name

const char *

Filter component class's name, unique amongst all the filter component class names of the same plugin.

[in]_message_iterator_class_next_method

bt_message_iterator_class_next_method

Filter component class's message iterator class's "next" method.

Precondition
_name is not NULL.
_message_iterator_class_next_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS

#define BT_PLUGIN_FILTER_COMPONENT_CLASS (   _name,
  _message_iterator_class_next_method 
)

Alias of BT_PLUGIN_FILTER_COMPONENT_CLASS_WITH_ID() with the _plugin_id parameter set to auto, the _component_class_id parameter set to _name, and the _name parameter set to a string version of _name.

Parameters
[in]_name

C identifier

Passed as both the _component_class_id and the _name (once converted to a string) parameters of BT_PLUGIN_FILTER_COMPONENT_CLASS_WITH_ID().

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_WITH_ID (   _plugin_id,
  _component_class_id,
  _name,
  _consume_method 
)

Adds a sink component class named _name, having the ID _component_class_id and the consuming method _consume_method, to the plugin having the ID _plugin_id.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin to which to add the sink component class.

[in]_component_class_id

C identifier.

Sink component class's ID, unique amongst all the sink component class IDs of the same plugin.

[in]_name

const char *

Sink component class's name, unique amongst all the sink component class names of the same plugin.

[in]_consume_method

bt_component_class_sink_consume_method

Sink component class's message iterator class's "next" method.

Precondition
_name is not NULL.
_consume_method is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS

#define BT_PLUGIN_SINK_COMPONENT_CLASS (   _name,
  _consume_method 
)

Alias of BT_PLUGIN_SINK_COMPONENT_CLASS_WITH_ID() with the _plugin_id parameter set to auto, the _component_class_id parameter set to _name, and the _name parameter set to a string version of _name.

Parameters
[in]_name

C identifier

Passed as both the _component_class_id and the _name (once converted to a string) parameters of BT_PLUGIN_SINK_COMPONENT_CLASS_WITH_ID().

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION_WITH_ID (   _plugin_id,
  _component_class_id,
  _description 
)

Sets the description of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _description.

See the description property.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the description.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the description to _description.

[in]_description

const char *

Source component class's description.

Precondition
_description is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_HELP_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_HELP_WITH_ID (   _plugin_id,
  _component_class_id,
  _help_text 
)

Sets the help text of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _help_text.

See the help text property.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the help text.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the help text to _help_text.

[in]_help_text

const char *

Source component class's help text.

Precondition
_help_text is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION_WITH_ID (   _plugin_id,
  _component_class_id,
  _description 
)

Sets the description of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _description.

See the description property.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the description.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the description to _description.

[in]_description

const char *

Filter component class's description.

Precondition
_description is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_HELP_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_HELP_WITH_ID (   _plugin_id,
  _component_class_id,
  _help_text 
)

Sets the help text of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _help_text.

See the help text property.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the help text.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the help text to _help_text.

[in]_help_text

const char *

Filter component class's help text.

Precondition
_help_text is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION_WITH_ID (   _plugin_id,
  _component_class_id,
  _description 
)

Sets the description of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _description.

See the description property.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the description.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the description to _description.

[in]_description

const char *

Sink component class's description.

Precondition
_description is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_HELP_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_HELP_WITH_ID (   _plugin_id,
  _component_class_id,
  _help_text 
)

Sets the help text of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _help_text.

See the help text property.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the help text.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the help text to _help_text.

[in]_help_text

const char *

Sink component class's help text.

Precondition
_help_text is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the finalization method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the finalize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the finalization method.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the finalization method to _method.

[in]_method

bt_component_class_source_finalize_method

Source component class's finalization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "get supported Message Interchange Protocol versions" method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the get supported MIP versions method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the "get supported MIP versions" method.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the "get supported MIP versions" method to _method.

[in]_method

bt_component_class_source_get_supported_mip_versions_method

Source component class's "get supported MIP versions" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the initialization method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the initialize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the initialization method.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the initialization method to _method.

[in]_method

bt_component_class_source_initialize_method

Source component class's initialization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the finalization method of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the finalize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the finalization method of the message iterator class.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the finalization method of the message iterator class to _method.

[in]_method

bt_message_iterator_class_finalize_method

Source component class's message iterator class's finalization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the initialization method of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the initialize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the initialization method of the message iterator class.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the initialization method of the message iterator class to _method.

[in]_method

bt_message_iterator_class_initialize_method

Source component class's message iterator class's initialization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS_WITH_ID (   _plugin_id,
  _component_class_id,
  _seek_method,
  _can_seek_method 
)

Sets the "seek beginning" and "can seek beginning?" methods of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method.

See the seek beginning and can seek beginning? methods.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the "seek beginning" and "can seek beginning?" methods of the message iterator class.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the "seek beginning" and "can seek beginning" methods of the message iterator class to _seek_method and _can_seek_method.

[in]_seek_method

bt_message_iterator_class_seek_beginning_method

Source component class's message iterator class's "seek beginning" method.

[in]_can_seek_method

bt_message_iterator_class_can_seek_beginning_method

Source component class's message iterator class's "can seek beginning?" method.

Can be NULL, in which case it is equivalent to setting a method which always returns BT_TRUE.

Precondition
_seek_method is not NULL.
_can_seek_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID (   _plugin_id,
  _component_class_id,
  _seek_method,
  _can_seek_method 
)

Sets the "seek ns from origin" and "can seek ns from origin?" methods of the message iterator class of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method.

See the seek ns from origin and can seek ns from origin? methods.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the "seek ns from origin" and "can seek ns from origin?" methods of the message iterator class.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the "seek ns from origin" and "can seek ns from origin" methods of the message iterator class to _seek_method and _can_seek_method.

[in]_seek_method

bt_message_iterator_class_seek_ns_from_origin_method

Source component class's message iterator class's "seek ns from origin" method.

[in]_can_seek_method

bt_message_iterator_class_can_seek_ns_from_origin_method

Source component class's message iterator class's "can seek ns from origin?" method.

Can be NULL, in which case it is equivalent to setting a method which always returns BT_TRUE.

Precondition
_seek_method is not NULL.
_can_seek_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "output port connected" method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the output port connected method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the "output port connected" method.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the "output port connected" method to _method.

[in]_method

bt_component_class_source_output_port_connected_method

Source component class's "output port connected" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SOURCE_COMPONENT_CLASS_QUERY_METHOD_WITH_ID

#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_QUERY_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the query method of the source component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the query method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the source component class of which to set the query method.

[in]_component_class_id

C identifier.

ID of the source component class, within the plugin having the ID _plugin_id, of which to set the query method to _method.

[in]_method

bt_component_class_source_query_method

Source component class's query method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the finalization method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the finalize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the finalization method.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the finalization method to _method.

[in]_method

bt_component_class_filter_finalize_method

Filter component class's finalization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "get supported Message Interchange Protocol versions" method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the get supported MIP versions method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the "get supported MIP versions" method.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the "get supported MIP versions" method to _method.

[in]_method

bt_component_class_filter_get_supported_mip_versions_method

Filter component class's "get supported MIP versions" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the initialization method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the initialize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the initialization method.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the initialization method to _method.

[in]_method

bt_component_class_filter_initialize_method

Filter component class's initialization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "input port connected" method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the input port connected method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the "input port connected" method.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the "input port connected" method to _method.

[in]_method

bt_component_class_filter_input_port_connected_method

Filter component class's "input port connected" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the finalization method of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the finalize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the finalization method of the message iterator class.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the finalization method of the message iterator class to _method.

[in]_method

bt_message_iterator_class_finalize_method

Filter component class's message iterator class's finalization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the initialization method of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the initialize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the initialization method of the message iterator class.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the initialization method of the message iterator class to _method.

[in]_method

bt_message_iterator_class_initialize_method

Filter component class's message iterator class's initialization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_BEGINNING_METHODS_WITH_ID (   _plugin_id,
  _component_class_id,
  _seek_method,
  _can_seek_method 
)

Sets the "seek beginning" and "can seek beginning?" methods of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method.

See the seek beginning and can seek beginning? methods.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the "seek beginning" and "can seek beginning?" methods of the message iterator class.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the "seek beginning" and "can seek beginning" methods of the message iterator class to _seek_method and _can_seek_method.

[in]_seek_method

bt_message_iterator_class_seek_beginning_method

Filter component class's message iterator class's "seek beginning" method.

[in]_can_seek_method

bt_message_iterator_class_can_seek_beginning_method

Filter component class's message iterator class's "can seek beginning?" method.

Can be NULL, in which case it is equivalent to setting a method which always returns BT_TRUE.

Precondition
_seek_method is not NULL.
_can_seek_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_SEEK_NS_FROM_ORIGIN_METHODS_WITH_ID (   _plugin_id,
  _component_class_id,
  _seek_method,
  _can_seek_method 
)

Sets the "seek ns from origin" and "can seek ns from origin?" methods of the message iterator class of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _seek_method and _can_seek_method.

See the seek ns from origin and can seek ns from origin? methods.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the "seek ns from origin" and "can seek ns from origin?" methods of the message iterator class.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the "seek ns from origin" and "can seek ns from origin" methods of the message iterator class to _seek_method and _can_seek_method.

[in]_seek_method

bt_message_iterator_class_seek_ns_from_origin_method

Filter component class's message iterator class's "seek ns from origin" method.

[in]_can_seek_method

bt_message_iterator_class_can_seek_ns_from_origin_method

Filter component class's message iterator class's "can seek ns from origin?" method.

Can be NULL, in which case it is equivalent to setting a method which always returns BT_TRUE.

Precondition
_seek_method is not NULL.
_can_seek_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_OUTPUT_PORT_CONNECTED_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "output port connected" method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the output port connected method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the "output port connected" method.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the "output port connected" method to _method.

[in]_method

bt_component_class_filter_output_port_connected_method

Filter component class's "output port connected" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD_WITH_ID

#define BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the query method of the filter component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the query method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the filter component class of which to set the query method.

[in]_component_class_id

C identifier.

ID of the filter component class, within the plugin having the ID _plugin_id, of which to set the query method to _method.

[in]_method

bt_component_class_filter_query_method

Filter component class's query method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the finalization method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the finalize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the finalization method.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the finalization method to _method.

[in]_method

bt_component_class_sink_finalize_method

Sink component class's finalization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "get supported Message Interchange Protocol versions" method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the get supported MIP versions method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the "get supported MIP versions" method.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the "get supported MIP versions" method to _method.

[in]_method

bt_component_class_sink_get_supported_mip_versions_method

Sink component class's "get supported MIP versions" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "graph is configured" method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the graph is configured method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the "graph is configured" method.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the "graph is configured" method to _method.

[in]_method

bt_component_class_sink_graph_is_configured_method

Sink component class's "graph is configured" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_INITIALIZE_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the initialization method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the initialize method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the initialization method.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the initialization method to _method.

[in]_method

bt_component_class_sink_initialize_method

Sink component class's initialization method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the "input port connected" method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the input port connected method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the "input port connected" method.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the "input port connected" method to _method.

[in]_method

bt_component_class_sink_input_port_connected_method

Sink component class's "input port connected" method.

Precondition
_method is not NULL.

◆ BT_PLUGIN_SINK_COMPONENT_CLASS_QUERY_METHOD_WITH_ID

#define BT_PLUGIN_SINK_COMPONENT_CLASS_QUERY_METHOD_WITH_ID (   _plugin_id,
  _component_class_id,
  _method 
)

Sets the query method of the sink component class having the ID _component_class_id in the plugin having the ID _plugin_id to _method.

See the query method.

Parameters
[in]_plugin_id

C identifier.

ID of the plugin which contains the sink component class of which to set the query method.

[in]_component_class_id

C identifier.

ID of the sink component class, within the plugin having the ID _plugin_id, of which to set the query method to _method.

[in]_method

bt_component_class_sink_query_method

Sink component class's query method.

Precondition
_method is not NULL.
BT_PLUGIN_MODULE
#define BT_PLUGIN_MODULE()
Defines a plugin module.
Definition: plugin-dev.h:338
BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_WITH_ID(_plugin_id, _component_class_id, _name, _message_iterator_class_next_method)
Adds a source component class named _name, having the ID _component_class_id and the message iterator...
Definition: plugin-dev.h:749
BT_PLUGIN_AUTHOR_WITH_ID
#define BT_PLUGIN_AUTHOR_WITH_ID(_id, _author)
Sets the name(s) of the author(s) of the plugin having the ID _id to _author.
Definition: plugin-dev.h:490
BT_PLUGIN_WITH_ID
#define BT_PLUGIN_WITH_ID(_id, _name)
Defines a plugin named _name and having the ID _id.
Definition: plugin-dev.h:415
BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID
#define BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD_WITH_ID(_plugin_id, _component_class_id, _method)
Sets the finalization method of the source component class having the ID _component_class_id in the p...
Definition: plugin-dev.h:1231
BT_PLUGIN_AUTHOR
#define BT_PLUGIN_AUTHOR(_author)
Alias of BT_PLUGIN_AUTHOR_WITH_ID() with the _id parameter set to auto.
Definition: plugin-dev.h:498