+ bool command_needs_plugins;
+ const char *command_name;
+ enum bt_config_command command;
+ union {
+ /* BT_CONFIG_COMMAND_RUN */
+ struct {
+ /* Array of pointers to struct bt_config_component */
+ GPtrArray *sources;
+
+ /* Array of pointers to struct bt_config_component */
+ GPtrArray *filters;
+
+ /* Array of pointers to struct bt_config_component */
+ GPtrArray *sinks;
+
+ /* Array of pointers to struct bt_config_connection */
+ GPtrArray *connections;
+ } run;
+
+ /* BT_CONFIG_COMMAND_HELP */
+ struct {
+ struct bt_config_component *cfg_component;
+ } help;
+
+ /* BT_CONFIG_COMMAND_QUERY */
+ struct {
+ GString *object;
+ struct bt_config_component *cfg_component;
+ } query;
+
+ /* BT_CONFIG_COMMAND_PRINT_CTF_METADATA */
+ struct {
+ GString *path;
+ } print_ctf_metadata;
+
+ /* BT_CONFIG_COMMAND_PRINT_LTTNG_LIVE_SESSIONS */
+ struct {
+ GString *url;
+ } print_lttng_live_sessions;
+ } cmd_data;