提交 e17201bb authored 作者: Stefan Knoblich's avatar Stefan Knoblich

freetdm: Add ftdm_channel_get_state(), ftdm_channel_get_last_state() and…

freetdm: Add ftdm_channel_get_state(), ftdm_channel_get_last_state() and ftdm_span_get_trunk_type_str().

Remove custom versions from ftmod_isdn and ftmod_libpri.
Signed-off-by: 's avatarStefan Knoblich <s.knoblich@axsentis.de>
上级 4f4aee4f
...@@ -1915,6 +1915,11 @@ FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span) ...@@ -1915,6 +1915,11 @@ FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span)
return span->trunk_type; return span->trunk_type;
} }
FT_DECLARE(const char *) ftdm_span_get_trunk_type_str(const ftdm_span_t *span)
{
return ftdm_trunk_type2str(span->trunk_type);
}
FT_DECLARE(uint32_t) ftdm_span_get_id(const ftdm_span_t *span) FT_DECLARE(uint32_t) ftdm_span_get_id(const ftdm_span_t *span)
{ {
return span->span_id; return span->span_id;
...@@ -2114,6 +2119,15 @@ FT_DECLARE(ftdm_caller_data_t *) ftdm_channel_get_caller_data(ftdm_channel_t *ft ...@@ -2114,6 +2119,15 @@ FT_DECLARE(ftdm_caller_data_t *) ftdm_channel_get_caller_data(ftdm_channel_t *ft
return &ftdmchan->caller_data; return &ftdmchan->caller_data;
} }
FT_DECLARE(int) ftdm_channel_get_state(const ftdm_channel_t *ftdmchan)
{
int state;
ftdm_channel_lock(ftdmchan);
state = ftdmchan->state;
ftdm_channel_unlock(ftdmchan);
return state;
}
FT_DECLARE(const char *) ftdm_channel_get_state_str(const ftdm_channel_t *ftdmchan) FT_DECLARE(const char *) ftdm_channel_get_state_str(const ftdm_channel_t *ftdmchan)
{ {
const char *state; const char *state;
...@@ -2123,6 +2137,15 @@ FT_DECLARE(const char *) ftdm_channel_get_state_str(const ftdm_channel_t *ftdmch ...@@ -2123,6 +2137,15 @@ FT_DECLARE(const char *) ftdm_channel_get_state_str(const ftdm_channel_t *ftdmch
return state; return state;
} }
FT_DECLARE(int) ftdm_channel_get_last_state(const ftdm_channel_t *ftdmchan)
{
int last_state;
ftdm_channel_lock(ftdmchan);
last_state = ftdmchan->last_state;
ftdm_channel_unlock(ftdmchan);
return last_state;
}
FT_DECLARE(const char *) ftdm_channel_get_last_state_str(const ftdm_channel_t *ftdmchan) FT_DECLARE(const char *) ftdm_channel_get_last_state_str(const ftdm_channel_t *ftdmchan)
{ {
const char *state; const char *state;
......
...@@ -54,24 +54,6 @@ ...@@ -54,24 +54,6 @@
#define DEFAULT_NATIONAL_PREFIX "0" #define DEFAULT_NATIONAL_PREFIX "0"
#define DEFAULT_INTERNATIONAL_PREFIX "00" #define DEFAULT_INTERNATIONAL_PREFIX "00"
static const char *ftdm_span_get_trunk_type_str(const ftdm_span_t *span)
{
assert(span);
return ftdm_trunk_type2str(span->trunk_type);
}
static int ftdm_channel_get_state(const ftdm_channel_t *chan)
{
assert(chan);
return chan->state;
}
static int ftdm_channel_get_last_state(const ftdm_channel_t *chan)
{
assert(chan);
return chan->last_state;
}
/***************************************************************************************** /*****************************************************************************************
* PCAP * PCAP
* Based on Helmut Kuper's (<helmut.kuper@ewetel.de>) implementation, * Based on Helmut Kuper's (<helmut.kuper@ewetel.de>) implementation,
......
...@@ -34,30 +34,16 @@ ...@@ -34,30 +34,16 @@
#include "private/ftdm_core.h" #include "private/ftdm_core.h"
#include "ftmod_libpri.h" #include "ftmod_libpri.h"
/***
* Move to core
***/
#ifndef ARRAY_SIZE #ifndef ARRAY_SIZE
#define ARRAY_SIZE(x) (sizeof((x)) / sizeof((x)[0])) #define ARRAY_SIZE(x) (sizeof((x)) / sizeof((x)[0]))
#endif #endif
static ftdm_channel_state_t ftdm_channel_get_state(const ftdm_channel_t *chan)
{
assert(chan);
return chan->state;
}
static void _ftdm_channel_set_state_force(ftdm_channel_t *chan, const ftdm_channel_state_t state) static void _ftdm_channel_set_state_force(ftdm_channel_t *chan, const ftdm_channel_state_t state)
{ {
assert(chan); assert(chan);
chan->state = state; chan->state = state;
} }
static const char *ftdm_span_get_trunk_type_str(const ftdm_span_t *span)
{
return ftdm_trunk_type2str(span->trunk_type);
}
/** /**
* \brief Unloads libpri IO module * \brief Unloads libpri IO module
* \return Success * \return Success
......
...@@ -1240,6 +1240,9 @@ FT_DECLARE(void) ftdm_span_set_trunk_type(ftdm_span_t *span, ftdm_trunk_type_t t ...@@ -1240,6 +1240,9 @@ FT_DECLARE(void) ftdm_span_set_trunk_type(ftdm_span_t *span, ftdm_trunk_type_t t
*/ */
FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span); FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span);
/*! \brief For display debugging purposes you can display this string which describes the trunk type of a span */
FT_DECLARE(const char *) ftdm_span_get_trunk_type_str(const ftdm_span_t *span);
/*! /*!
* \brief Return the channel identified by the provided id * \brief Return the channel identified by the provided id
* *
...@@ -1259,6 +1262,12 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_set_caller_data(ftdm_channel_t *ftdmchan, ...@@ -1259,6 +1262,12 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_set_caller_data(ftdm_channel_t *ftdmchan,
/*! \brief Get the caller data for a channel, typically you need this when receiving FTDM_SIGEVENT_START */ /*! \brief Get the caller data for a channel, typically you need this when receiving FTDM_SIGEVENT_START */
FT_DECLARE(ftdm_caller_data_t *) ftdm_channel_get_caller_data(ftdm_channel_t *channel); FT_DECLARE(ftdm_caller_data_t *) ftdm_channel_get_caller_data(ftdm_channel_t *channel);
/*! \brief Get current state of a channel */
FT_DECLARE(int) ftdm_channel_get_state(const ftdm_channel_t *ftdmchan);
/*! \brief Get last state of a channel */
FT_DECLARE(int) ftdm_channel_get_last_state(const ftdm_channel_t *ftdmchan);
/*! \brief For display debugging purposes you can display this string which describes the current channel internal state */ /*! \brief For display debugging purposes you can display this string which describes the current channel internal state */
FT_DECLARE(const char *) ftdm_channel_get_state_str(const ftdm_channel_t *channel); FT_DECLARE(const char *) ftdm_channel_get_state_str(const ftdm_channel_t *channel);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论