switch_module_interfaces.h File Reference

Module Interface Definitions. More...

#include <switch.h>
#include "switch_resample.h"
#include "switch_frame.h"

Include dependency graph for switch_module_interfaces.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  switch_state_handler_table
struct  switch_stream_handle
struct  switch_io_routines
 A table of i/o routines that an endpoint interface can implement. More...
struct  switch_endpoint_interface
 Abstraction of an module endpoint interface This is the glue between the abstract idea of a "channel" and what is really going on under the hood. Each endpoint module fills out one of these tables and makes it available when a channel is created of it's paticular type. More...
struct  switch_timer
 Abstract handler to a timer module. More...
struct  switch_timer_interface
 A table of functions that a timer module implements. More...
struct  switch_dialplan_interface
 Abstract interface to a dialplan module. More...
struct  switch_file_interface
 Abstract interface to a file format module. More...
struct  switch_file_handle
struct  switch_asr_interface
 Abstract interface to an asr module. More...
struct  switch_asr_handle
struct  switch_speech_interface
 Abstract interface to a speech module. More...
struct  switch_speech_handle
struct  switch_say_interface
 Abstract interface to a say module. More...
struct  switch_chat_interface
 Abstract interface to a chat module. More...
struct  switch_management_interface
 Abstract interface to a management module. More...
struct  switch_limit_interface
 Abstract interface to a limit module. More...
struct  switch_directory_interface
 Abstract interface to a directory module. More...
struct  switch_directory_handle
struct  switch_codec_settings
 Various codec settings (currently only relevant to speex). More...
struct  switch_codec_fmtp
struct  switch_codec
struct  switch_codec_implementation
 A table of settings and callbacks that define a paticular implementation of a codec. More...
struct  switch_codec_interface
 Top level module interface to implement a series of codec implementations. More...
struct  switch_application_interface
 A module interface to implement an application. More...
struct  switch_chat_application_interface
 A module interface to implement a chat application. More...
struct  switch_api_interface
 A module interface to implement an api function. More...
struct  switch_slin_data

Defines

#define PROTECT_INTERFACE(_it)   if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_rdlock(_it->parent->rwlock); switch_thread_rwlock_rdlock(_it->rwlock); _it->refs++; _it->parent->refs++; switch_mutex_unlock(_it->reflock);}
#define UNPROTECT_INTERFACE(_it)   if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_unlock(_it->rwlock); switch_thread_rwlock_unlock(_it->parent->rwlock); _it->refs--; _it->parent->refs--; switch_mutex_unlock(_it->reflock);}

Typedefs

typedef switch_call_cause_t(*) switch_io_outgoing_channel_t (switch_core_session_t *, switch_event_t *, switch_caller_profile_t *, switch_core_session_t **, switch_memory_pool_t **, switch_originate_flag_t, switch_call_cause_t *)
typedef switch_status_t(*) switch_io_read_frame_t (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)
typedef switch_status_t(*) switch_io_write_frame_t (switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)
typedef switch_status_t(*) switch_io_kill_channel_t (switch_core_session_t *, int)
typedef switch_status_t(*) switch_io_send_dtmf_t (switch_core_session_t *, const switch_dtmf_t *)
typedef switch_status_t(*) switch_io_receive_message_t (switch_core_session_t *, switch_core_session_message_t *)
typedef switch_status_t(*) switch_io_receive_event_t (switch_core_session_t *, switch_event_t *)
typedef switch_status_t(*) switch_io_state_change_t (switch_core_session_t *)
typedef switch_status_t(*) switch_io_state_run_t (switch_core_session_t *)
typedef switch_status_t(*) switch_io_read_video_frame_t (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)
typedef switch_status_t(*) switch_io_write_video_frame_t (switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)
typedef switch_call_cause_t(*) switch_io_resurrect_session_t (switch_core_session_t **, switch_memory_pool_t **, void *)

Enumerations

enum  switch_state_handler_name_t {
  SWITCH_SHN_ON_INIT, SWITCH_SHN_ON_ROUTING, SWITCH_SHN_ON_EXECUTE, SWITCH_SHN_ON_HANGUP,
  SWITCH_SHN_ON_EXCHANGE_MEDIA, SWITCH_SHN_ON_SOFT_EXECUTE, SWITCH_SHN_ON_CONSUME_MEDIA, SWITCH_SHN_ON_HIBERNATE,
  SWITCH_SHN_ON_RESET, SWITCH_SHN_ON_PARK, SWITCH_SHN_ON_REPORTING, SWITCH_SHN_ON_DESTROY
}
 A table of functions to execute at various states. More...
enum  switch_io_routine_name_t {
  SWITCH_IO_OUTGOING_CHANNEL, SWITCH_IO_READ_FRAME, SWITCH_IO_WRITE_FRAME, SWITCH_IO_KILL_CHANNEL,
  SWITCH_IO_SEND_DTMF, SWITCH_IO_RECEIVE_MESSAGE, SWITCH_IO_RECEIVE_EVENT, SWITCH_IO_STATE_CHANGE,
  SWITCH_IO_READ_VIDEO_FRAME, SWITCH_IO_WRITE_VIDEO_FRAME, SWITCH_IO_RESURRECT_SESSION
}
enum  switch_timer_func_name_t {
  SWITCH_TIMER_FUNC_TIMER_INIT, SWITCH_TIMER_FUNC_TIMER_NEXT, SWITCH_TIMER_FUNC_TIMER_STEP, SWITCH_TIMER_FUNC_TIMER_SYNC,
  SWITCH_TIMER_FUNC_TIMER_CHECK, SWITCH_TIMER_FUNC_TIMER_DESTROY
}


Detailed Description

Module Interface Definitions.

This module holds the definition of data abstractions used to implement various pluggable interfaces and pluggable event handlers.

Definition in file switch_module_interfaces.h.


Define Documentation

#define PROTECT_INTERFACE ( _it   )     if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_rdlock(_it->parent->rwlock); switch_thread_rwlock_rdlock(_it->rwlock); _it->refs++; _it->parent->refs++; switch_mutex_unlock(_it->reflock);}

Definition at line 722 of file switch_module_interfaces.h.

Referenced by switch_core_session_request_uuid(), switch_loadable_module_get_codec_interface(), and switch_loadable_module_get_endpoint_interface().

#define UNPROTECT_INTERFACE ( _it   )     if (_it) {switch_mutex_lock(_it->reflock); switch_thread_rwlock_unlock(_it->rwlock); switch_thread_rwlock_unlock(_it->parent->rwlock); _it->refs--; _it->parent->refs--; switch_mutex_unlock(_it->reflock);}

Definition at line 723 of file switch_module_interfaces.h.

Referenced by collect_thread_run(), do_chat_send(), release_backend(), switch_api_execute(), switch_core_asr_close(), switch_core_asr_open(), switch_core_codec_destroy(), switch_core_codec_init_with_bitrate(), switch_core_codec_parse_fmtp(), switch_core_directory_close(), switch_core_directory_open(), switch_core_execute_chat_app(), switch_core_file_close(), switch_core_perform_file_open(), switch_core_session_execute_application_get_flags(), switch_core_session_execute_exten(), switch_core_session_get_app_flags(), switch_core_session_outgoing_channel(), switch_core_session_request_by_name(), switch_core_session_request_uuid(), switch_core_speech_close(), switch_core_speech_open(), switch_core_standard_on_routing(), switch_core_timer_destroy(), switch_core_timer_init(), switch_ivr_menu_execute(), switch_ivr_phrase_macro_event(), and switch_loadable_module_get_codecs_sorted().


Typedef Documentation

typedef switch_status_t(*) switch_io_kill_channel_t(switch_core_session_t *, int)

Definition at line 113 of file switch_module_interfaces.h.

typedef switch_call_cause_t(*) switch_io_outgoing_channel_t(switch_core_session_t *, switch_event_t *, switch_caller_profile_t *, switch_core_session_t **, switch_memory_pool_t **, switch_originate_flag_t, switch_call_cause_t *)

Definition at line 109 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_read_frame_t(switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)

Definition at line 111 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_read_video_frame_t(switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int)

Definition at line 119 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_receive_event_t(switch_core_session_t *, switch_event_t *)

Definition at line 116 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_receive_message_t(switch_core_session_t *, switch_core_session_message_t *)

Definition at line 115 of file switch_module_interfaces.h.

typedef switch_call_cause_t(*) switch_io_resurrect_session_t(switch_core_session_t **, switch_memory_pool_t **, void *)

Definition at line 121 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_send_dtmf_t(switch_core_session_t *, const switch_dtmf_t *)

Definition at line 114 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_state_change_t(switch_core_session_t *)

Definition at line 117 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_state_run_t(switch_core_session_t *)

Definition at line 118 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_write_frame_t(switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)

Definition at line 112 of file switch_module_interfaces.h.

typedef switch_status_t(*) switch_io_write_video_frame_t(switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int)

Definition at line 120 of file switch_module_interfaces.h.


Enumeration Type Documentation

enum switch_io_routine_name_t

Enumerator:
SWITCH_IO_OUTGOING_CHANNEL 
SWITCH_IO_READ_FRAME 
SWITCH_IO_WRITE_FRAME 
SWITCH_IO_KILL_CHANNEL 
SWITCH_IO_SEND_DTMF 
SWITCH_IO_RECEIVE_MESSAGE 
SWITCH_IO_RECEIVE_EVENT 
SWITCH_IO_STATE_CHANGE 
SWITCH_IO_READ_VIDEO_FRAME 
SWITCH_IO_WRITE_VIDEO_FRAME 
SWITCH_IO_RESURRECT_SESSION 

Definition at line 123 of file switch_module_interfaces.h.

enum switch_state_handler_name_t

A table of functions to execute at various states.

Enumerator:
SWITCH_SHN_ON_INIT 
SWITCH_SHN_ON_ROUTING 
SWITCH_SHN_ON_EXECUTE 
SWITCH_SHN_ON_HANGUP 
SWITCH_SHN_ON_EXCHANGE_MEDIA 
SWITCH_SHN_ON_SOFT_EXECUTE 
SWITCH_SHN_ON_CONSUME_MEDIA 
SWITCH_SHN_ON_HIBERNATE 
SWITCH_SHN_ON_RESET 
SWITCH_SHN_ON_PARK 
SWITCH_SHN_ON_REPORTING 
SWITCH_SHN_ON_DESTROY 

Definition at line 49 of file switch_module_interfaces.h.

enum switch_timer_func_name_t

Enumerator:
SWITCH_TIMER_FUNC_TIMER_INIT 
SWITCH_TIMER_FUNC_TIMER_NEXT 
SWITCH_TIMER_FUNC_TIMER_STEP 
SWITCH_TIMER_FUNC_TIMER_SYNC 
SWITCH_TIMER_FUNC_TIMER_CHECK 
SWITCH_TIMER_FUNC_TIMER_DESTROY 

Definition at line 216 of file switch_module_interfaces.h.


Generated on Sun May 20 04:00:12 2012 for FreeSWITCH API Documentation by  doxygen 1.4.7