| Asterisk - The Open Source Telephony Project GIT-master-27fb039
    | 
Structure that is the essence of a bridge technology. More...
#include <bridge_technology.h>

| Public Member Functions | |
| AST_RWLIST_ENTRY (ast_bridge_technology) entry | |
| Data Fields | |
| uint32_t | capabilities | 
| int(* | compatible )(struct ast_bridge *bridge) | 
| Check if a bridge is compatible with the bridging technology. | |
| int(* | create )(struct ast_bridge *bridge) | 
| Create a bridge technology instance for a bridge. | |
| void(* | destroy )(struct ast_bridge *bridge) | 
| Destroy a bridging technology instance for a bridge. | |
| int(* | join )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
| Add a channel to a bridging technology instance for a bridge. | |
| void(* | leave )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
| Remove a channel from a bridging technology instance for a bridge. | |
| struct ast_module * | mod | 
| const char * | name | 
| enum ast_bridge_preference | preference | 
| int(* | start )(struct ast_bridge *bridge) | 
| Request a bridge technology instance start operations. | |
| void(* | stop )(struct ast_bridge *bridge) | 
| Request a bridge technology instance stop in preparation for being destroyed. | |
| void(* | stream_topology_changed )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
| Callback for when a stream topology changes on the channel. | |
| int(* | stream_topology_request_change )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
| Callback for when a request has been made to change a stream topology on a channel. | |
| void(* | suspend )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
| Suspend a channel on a bridging technology instance for a bridge. | |
| unsigned int | suspended:1 | 
| void(* | unsuspend )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
| Unsuspend a channel on a bridging technology instance for a bridge. | |
| int(* | write )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame) | 
| Write a frame into the bridging technology instance for a bridge. | |
Structure that is the essence of a bridge technology.
Definition at line 61 of file bridge_technology.h.
| AST_RWLIST_ENTRY | ( | ast_bridge_technology | ) | 
Linked list information
| uint32_t capabilities | 
The capabilities that this bridge technology is capable of. This has nothing to do with format capabilities.
Definition at line 66 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), ast_bridge_peer_nolock(), ast_bridge_snapshot_create(), bridge_channel_internal_join(), bridge_merge_locked(), bridge_reconfigured_connected_line_update(), bridge_stasis_pull(), bridge_stasis_push(), bridges_allow_merge_optimization(), find_best_technology(), handle_bridge_technology_show(), manager_bridge_tech_list(), set_bridge_peer_vars(), and smart_bridge_operation().
| int(* compatible) (struct ast_bridge *bridge) | 
Check if a bridge is compatible with the bridging technology.
| 0 | if not compatible | 
| non-zero | if compatible | 
Definition at line 149 of file bridge_technology.h.
Referenced by smart_bridge_operation().
| int(* create) (struct ast_bridge *bridge) | 
Create a bridge technology instance for a bridge.
| 0 | on success | 
| -1 | on failure | 
Definition at line 78 of file bridge_technology.h.
Referenced by bridge_base_init(), and smart_bridge_operation().
| void(* destroy) (struct ast_bridge *bridge) | 
Destroy a bridging technology instance for a bridge.
Definition at line 100 of file bridge_technology.h.
Referenced by bridge_tech_deferred_destroy(), destroy_bridge(), and smart_bridge_operation().
| int(* join) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
Add a channel to a bridging technology instance for a bridge.
| 0 | on success | 
| -1 | on failure | 
Definition at line 117 of file bridge_technology.h.
Referenced by bridge_channel_complete_join().
| void(* leave) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
Remove a channel from a bridging technology instance for a bridge.
Definition at line 127 of file bridge_technology.h.
Referenced by bridge_channel_internal_pull(), and smart_bridge_operation().
| struct ast_module* mod | 
Module this bridge technology belongs to. It is used for reference counting bridges using the technology.
Definition at line 196 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), bridge_tech_deferred_destroy(), destroy_bridge(), and smart_bridge_operation().
Unique name to this bridge technology
Definition at line 63 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), ast_bridge_snapshot_create(), ast_bridge_technology_unregister(), bridge_base_init(), bridge_channel_complete_join(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_tech_deferred_destroy(), complete_bridge_technology(), destroy_bridge(), PathSegment::get_child(), handle_bridge_technology_show(), handle_bridge_technology_suspend(), handle_manager_bridge_tech_suspend(), SwaggerType::load(), manager_bridge_tech_list(), and smart_bridge_operation().
| enum ast_bridge_preference preference | 
Preference level that should be used when determining whether to use this bridge technology or not
Definition at line 68 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), handle_bridge_technology_show(), and manager_bridge_tech_list().
| int(* start) (struct ast_bridge *bridge) | 
Request a bridge technology instance start operations.
| 0 | on success | 
| -1 | on failure | 
Definition at line 88 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), bridge_base_init(), complete_bridge_technology(), find_best_technology(), handle_bridge_technology_suspend(), handle_manager_bridge_tech_suspend(), manager_bridge_tech_list(), and smart_bridge_operation().
| void(* stop) (struct ast_bridge *bridge) | 
Request a bridge technology instance stop in preparation for being destroyed.
Definition at line 94 of file bridge_technology.h.
Referenced by destroy_bridge(), and smart_bridge_operation().
| void(* stream_topology_changed) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
Callback for when a stream topology changes on the channel.
This is called when a bridge receives an indication that a topology has been changed on a channel and the new topology has been mapped to the bridge. A bridge technology should define a handler for this callback if it needs to update internals due to a channel's topology changing.
Definition at line 192 of file bridge_technology.h.
Referenced by bridge_channel_complete_join(), and bridge_handle_trip().
| int(* stream_topology_request_change) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
Callback for when a request has been made to change a stream topology on a channel.
This is called when a bridge receives a request to change the topology on the channel. A bridge technology should define a handler for this callback if it needs to update internals or intercept the request and not pass it on to other channels. This can be done by returning a nonzero value.
| 0 | Frame can pass to the bridge technology. | 
| non-zero | Frame intercepted by the bridge technology. | 
Definition at line 179 of file bridge_technology.h.
Referenced by bridge_handle_trip().
| void(* suspend) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
Suspend a channel on a bridging technology instance for a bridge.
Definition at line 133 of file bridge_technology.h.
Referenced by bridge_channel_internal_suspend_nolock().
TRUE if the bridge technology is currently suspended.
Definition at line 194 of file bridge_technology.h.
Referenced by ast_bridge_technology_suspend(), ast_bridge_technology_unsuspend(), handle_bridge_technology_show(), and manager_bridge_tech_list().
| void(* unsuspend) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) | 
Unsuspend a channel on a bridging technology instance for a bridge.
Definition at line 139 of file bridge_technology.h.
Referenced by bridge_channel_internal_unsuspend_nolock().
| int(* write) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame) | 
Write a frame into the bridging technology instance for a bridge.
| 0 | Frame accepted into the bridge. | 
| -1 | Frame needs to be deferred. | 
Definition at line 163 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), bridge_channel_settle_owed_events(), bridge_channel_write_frame(), and MultiOrderedConfigParser::write().