19#ifndef _ASTERISK_RES_STASIS_CONTROL_H
20#define _ASTERISK_RES_STASIS_CONTROL_H
struct stasis_app_control * control_create(struct ast_channel *channel, struct stasis_app *app)
Create a control object.
int control_prestart_dispatch_all(struct stasis_app_control *control, struct ast_channel *chan)
Dispatch all queued prestart commands.
int control_swap_channel_in_bridge(struct stasis_app_control *control, struct ast_bridge *bridge, struct ast_channel *chan, struct ast_channel *swap)
Command for swapping a channel in a bridge.
void control_wait(struct stasis_app_control *control)
Blocks until control's command queue has a command available.
char ** control_next_app_args(struct stasis_app_control *control)
Returns the list of arguments to pass to the application we are moving to.
int control_add_channel_to_bridge(struct stasis_app_control *control, struct ast_channel *chan, void *data)
Command callback for adding a channel to a bridge.
int control_is_done(struct stasis_app_control *control)
Returns true if control_continue() has been called on this control.
void control_flush_queue(struct stasis_app_control *control)
Flush the control command queue.
int control_dispatch_all(struct stasis_app_control *control, struct ast_channel *chan)
Dispatch all commands enqueued to this control.
int control_next_app_args_size(struct stasis_app_control *control)
Returns the number of arguments to be passed to the application we are moving to.
void control_set_app(struct stasis_app_control *control, struct stasis_app *app)
Set the application the control object belongs to.
int control_command_count(struct stasis_app_control *control)
Returns the count of items in a control's command queue.
void control_silence_stop_now(struct stasis_app_control *control)
Stop playing silence to a channel right now.
char * control_next_app(struct stasis_app_control *control)
Returns the name of the application we are moving to.
struct stasis_app * control_app(struct stasis_app_control *control)
Returns the pointer (non-reffed) to the app associated with this control.
void control_move_cleanup(struct stasis_app_control *control)
Free any memory that was allocated for switching applications via /channels/{channelId}/move.
void control_mark_done(struct stasis_app_control *control)
Stasis Application API. See Stasis Application API for detailed documentation.
Structure that contains information about a bridge.
Main Channel structure associated with a channel.
struct ast_channel * channel