[commit] r3541 - freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python
Author: jkr888 Date: Tue Dec 5 11:09:36 2006 New Revision: 3541 Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h Log: Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile Tue Dec 5 11:09:36 2006 @@ -4,13 +4,18 @@ LDFLAGS=-lpython2.4 -Xlinker -export-dynamic -L$(PREFIX)/lib/python2.4/config/ -lutil SWIGCFILE=../../../switch_swig.c SWIGIFILE=../../../switch_swig.i +CPPCC = g++ +OBJS=freeswitch_python.o #all: depends $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(PYMOD).$(DYNAMIC_LIB_EXTEN) -all: depends $(MODNAME).$(DYNAMIC_LIB_EXTEN) +all: depends $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(OBJS) depends: MAKE=$(MAKE) PY_CFLAGS=-fPIC $(BASE)/build/buildlib.sh $(BASE) install Python-2.4.3.tgz --prefix=$(PREFIX) --enable-threads +%.o: %.cpp + $(CPPCC) -Wall -Werror -fPIC $(CFLAGS) -c -o $@ $< + %.o: %.c $(CC) $(LCFLAGS) $(CFLAGS) -c $< -o $@ @@ -18,8 +23,9 @@ $(CC) $(LCFLAGS) $(CFLAGS) -c mod_python.c -o mod_python.o reswig: - rm -f switch_swig_wrap.c config.m4 CREDITS *${PYMOD}* - swig -o switch_swig_wrap.c -l$(SWIGIFILE) -ignoremissing -DMULTIPLICITY -python -module $(PYMOD) $(SWIGCFILE) + # rm -f switch_swig_wrap.c config.m4 CREDITS *${PYMOD}* + # swig -o switch_swig_wrap.c -l$(SWIGIFILE) -ignoremissing -DMULTIPLICITY -python -module $(PYMOD) $(SWIGCFILE) + swig -python -shadow -c++ mod_python.i # patch -p0 -i fix.diff switch_swig_wrap.o: switch_swig_wrap.c Makefile Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp Tue Dec 5 11:09:36 2006 @@ -1,8 +1,12 @@ #include "freeswitch_python.h" -SessionContainer::SessionContainer() +SessionContainer::SessionContainer(char *nuuid) { - + uuid = nuuid; + if ((session = switch_core_session_locate(uuid))) { + switch_core_session_rwunlock(session); + channel = switch_core_session_get_channel(session); + } } SessionContainer::~SessionContainer() @@ -10,4 +14,51 @@ } +void SessionContainer::console_log(char *level_str, char *msg) +{ + switch_log_level_t level = SWITCH_LOG_DEBUG; + if (level_str) { + level = switch_log_str2level(level_str); + } + switch_log_printf(SWITCH_CHANNEL_LOG, level, msg); +} + +void SessionContainer::console_clean_log(char *msg) +{ + switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN,SWITCH_LOG_DEBUG, msg); +} + +void SessionContainer::answer() +{ + switch_channel_answer(channel); +} + +void SessionContainer::pre_answer() +{ + switch_channel_pre_answer(channel); +} + +void SessionContainer::hangup(char *cause) +{ + switch_channel_hangup(channel, switch_channel_str2cause(cause)); +} + +void SessionContainer::set_variable(char *var, char *val) +{ + switch_channel_set_variable(channel, var, val); +} + +void SessionContainer::get_variable(char *var, char *val) +{ + switch_channel_get_variable(channel, var); +} + +void SessionContainer::set_state(char *state) +{ + switch_channel_state_t current_state = switch_channel_get_state(channel); + + if ((current_state = switch_channel_name_state(state)) < CS_HANGUP) { + switch_channel_set_state(channel, current_state); + } +} Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h Tue Dec 5 11:09:36 2006 @@ -1,5 +1,5 @@ #ifdef __cplusplus -exten "C" { +extern "C" { #endif #include <switch.h> @@ -10,11 +10,20 @@ switch_channel_t *channel; char *uuid; public: - SessionContainer(); + SessionContainer(char *uuid); ~SessionContainer(); + void console_log(char *level_str, char *msg); + void console_clean_log(char *msg); + void answer(); + void pre_answer(); + void hangup(char *cause); + void set_variable(char *var, char *val); + void get_variable(char *var, char *val); + void set_state(char *state); protected: }; #ifdef __cplusplus } #endif +
participants (1)
-
Freeswitch SVN