[asterisk-commits] russell: branch russell/bindings r103281 - in /team/russell/bindings: binding...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sun Feb 10 20:17:46 CST 2008
Author: russell
Date: Sun Feb 10 20:17:45 2008
New Revision: 103281
URL: http://svn.digium.com/view/asterisk?view=rev&rev=103281
Log:
check in progress ... mostly infrastructure in prep for some new stuff
Added:
team/russell/bindings/bindings/ast_channel.i (with props)
team/russell/bindings/res/res_python/channel.c (with props)
Modified:
team/russell/bindings/bindings/Makefile
team/russell/bindings/res/Makefile
team/russell/bindings/res/res_python.c
team/russell/bindings/res/res_python/cdr.c
team/russell/bindings/res/res_python/res_python.h
Modified: team/russell/bindings/bindings/Makefile
URL: http://svn.digium.com/view/asterisk/team/russell/bindings/bindings/Makefile?view=diff&rev=103281&r1=103280&r2=103281
==============================================================================
--- team/russell/bindings/bindings/Makefile (original)
+++ team/russell/bindings/bindings/Makefile Sun Feb 10 20:17:45 2008
@@ -11,17 +11,23 @@
# the GNU General Public License
#
-PYTHON_MODS:=ast_cdr.py
+PYTHON_MODS:=ast_cdr.py ast_channel.py
-all: ast_cdr_wrap.c swigpyrun.h
+all: ast_channel_wrap.c ast_cdr_wrap.c swigpyrun.h
-ast_cdr.i: ../include/asterisk/cdr.h
+ast_channel.i: $(ASTTOPDIR)/include/asterisk/channel.h
+
+ast_cdr.i: $(ASTTOPDIR)/include/asterisk/cdr.h
$(AWK) -f get_swig $< >> $@
ast_cdr_wrap.c: ast_cdr.i
ifneq ($(SWIG),:)
$(SWIG) -I$(ASTTOPDIR)/include -python ast_cdr.i
- $(SWIG) -I$(ASTTOPDIR)/include -python -external-runtime
+endif
+
+ast_channel_wrap.c: ast_channel.i
+ifneq ($(SWIG),:)
+ $(SWIG) -I$(ASTTOPDIR)/include -python ast_channel.i
endif
swigpyrun.h:
@@ -37,7 +43,7 @@
for x in $(PYTHON_MODS); do rm -f $(DESTDIR)$(PYTHON_DIR)/$$x $(DESTDIR)$(PYTHON_DIR)/$${x}c ; done
clean:
- rm -f _ast_cdr.so ast_cdr_wrap.c ast_cdr.py ast_cdr.pyc swigpyrun.h
+ rm -f _ast_cdr.so ast_cdr_wrap.c ast_cdr.py ast_cdr.pyc swigpyrun.h ast_channel_wrap.c ast_channel.py ast_channel.pyc
rm -rf build
distclean: clean
Added: team/russell/bindings/bindings/ast_channel.i
URL: http://svn.digium.com/view/asterisk/team/russell/bindings/bindings/ast_channel.i?view=auto&rev=103281
==============================================================================
--- team/russell/bindings/bindings/ast_channel.i (added)
+++ team/russell/bindings/bindings/ast_channel.i Sun Feb 10 20:17:45 2008
@@ -1,0 +1,17 @@
+%module ast_channel
+
+%{
+#include "asterisk.h"
+#include "asterisk/channel.h"
+
+#include "res_python/res_python.h"
+%}
+
+struct ast_channel {
+};
+
+%extend ast_channel {
+ const char *get_name(void) {
+ return $self->name;
+ }
+};
Propchange: team/russell/bindings/bindings/ast_channel.i
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: team/russell/bindings/bindings/ast_channel.i
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: team/russell/bindings/bindings/ast_channel.i
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: team/russell/bindings/res/Makefile
URL: http://svn.digium.com/view/asterisk/team/russell/bindings/res/Makefile?view=diff&rev=103281&r1=103280&r2=103281
==============================================================================
--- team/russell/bindings/res/Makefile (original)
+++ team/russell/bindings/res/Makefile Sun Feb 10 20:17:45 2008
@@ -48,9 +48,19 @@
ael/pval.o: ael/pval.c
-res_python.so: res_python.o python_ast_cdr_wrap.o res_python/cdr.o
+PYTHON_WRAPPERS:=python_ast_cdr_wrap.o python_ast_channel_wrap.o
+RES_PYTHON_OBJS:=res_python.o res_python/cdr.o res_python/channel.o
+
+res_python.so: $(RES_PYTHON_OBJS) $(PYTHON_WRAPPERS)
+
+res_python/channel.o: ASTCFLAGS+=$(PYTHON_INCLUDE)
res_python/cdr.o: ASTCFLAGS+=$(PYTHON_INCLUDE)
+
+python_ast_channel_wrap.o: ASTCFLAGS+=$(PYTHON_INCLUDE)
+
+python_ast_channel_wrap.c: ../bindings/ast_channel_wrap.c
+ @cp $< $@
python_ast_cdr_wrap.o: ASTCFLAGS+=$(PYTHON_INCLUDE)
@@ -60,4 +70,5 @@
clean::
rm -f snmp/*.o
rm -f ael/*.o
- rm -f python_ast_cdr_wrap.c
+ rm -f res_python/*.o
+ rm -f $(PYTHON_WRAPPERS:.o=.c)
Modified: team/russell/bindings/res/res_python.c
URL: http://svn.digium.com/view/asterisk/team/russell/bindings/res/res_python.c?view=diff&rev=103281&r1=103280&r2=103281
==============================================================================
--- team/russell/bindings/res/res_python.c (original)
+++ team/russell/bindings/res/res_python.c Sun Feb 10 20:17:45 2008
@@ -90,12 +90,18 @@
static int reload_module(void)
{
- return python_cdr_reload();
+ int res;
+
+ res = python_cdr_reload();
+ res |= python_channel_reload();
+
+ return res;
}
static int unload_module(void)
{
python_cdr_unload();
+ python_channel_unload();
ast_cli_unregister_multiple(cli_python, ARRAY_LEN(cli_python));
@@ -122,6 +128,7 @@
PyEval_InitThreads();
python_cdr_load();
+ python_channel_load();
main_thread_state = PyThreadState_Get();
Modified: team/russell/bindings/res/res_python/cdr.c
URL: http://svn.digium.com/view/asterisk/team/russell/bindings/res/res_python/cdr.c?view=diff&rev=103281&r1=103280&r2=103281
==============================================================================
--- team/russell/bindings/res/res_python/cdr.c (original)
+++ team/russell/bindings/res/res_python/cdr.c Sun Feb 10 20:17:45 2008
@@ -26,6 +26,8 @@
*
* \ingroup cdr_drivers
*/
+
+#include "asterisk.h"
#include "asterisk/cdr.h"
#include "asterisk/cli.h"
Added: team/russell/bindings/res/res_python/channel.c
URL: http://svn.digium.com/view/asterisk/team/russell/bindings/res/res_python/channel.c?view=auto&rev=103281
==============================================================================
--- team/russell/bindings/res/res_python/channel.c (added)
+++ team/russell/bindings/res/res_python/channel.c Sun Feb 10 20:17:45 2008
@@ -1,0 +1,70 @@
+/*
+ * Asterisk -- An open source telephony toolkit.
+ *
+ * Copyright (C) 2008, Digium, Inc.
+ *
+ * Russell Bryant <russell at digium.com>
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE file
+ * at the top of the source tree.
+ */
+
+/*! \file
+ *
+ * \brief Python bindings for channels
+ *
+ * \author Russell Bryant <russell at digium.com>
+ *
+ * \ingroup applications
+ */
+
+#include "asterisk.h"
+
+#include "asterisk/cdr.h"
+#include "asterisk/cli.h"
+#include "asterisk/module.h"
+#include "asterisk/pbx.h"
+#include "asterisk/channel.h"
+
+#include "res_python.h"
+#include "../bindings/swigpyrun.h"
+
+static const char python_app[] = "Python";
+static const char python_synopsis[] = "Channel control via a Python application";
+static const char python_desc[] =
+"Python(<python module>):\n"
+" Do stuff!\n"
+"";
+
+static int python_exec(struct ast_channel *chan, void *data)
+{
+ return 0;
+}
+
+int python_channel_reload(void)
+{
+ return 0;
+}
+
+int python_channel_unload(void)
+{
+ return ast_unregister_application(python_app);
+}
+
+int python_channel_load(void)
+{
+ int res;
+
+ init_ast_channel(); /* init ast_channel module from swig */
+
+ res = ast_register_application(python_app, python_exec, python_synopsis, python_desc);
+
+ return res ? AST_MODULE_LOAD_DECLINE : AST_MODULE_LOAD_SUCCESS;
+}
Propchange: team/russell/bindings/res/res_python/channel.c
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: team/russell/bindings/res/res_python/channel.c
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: team/russell/bindings/res/res_python/channel.c
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: team/russell/bindings/res/res_python/res_python.h
URL: http://svn.digium.com/view/asterisk/team/russell/bindings/res/res_python/res_python.h?view=diff&rev=103281&r1=103280&r2=103281
==============================================================================
--- team/russell/bindings/res/res_python/res_python.h (original)
+++ team/russell/bindings/res/res_python/res_python.h Sun Feb 10 20:17:45 2008
@@ -23,7 +23,7 @@
extern PyThreadState *main_thread_state;
-/*! defined by python_cdr_wrap.c */
+/*! defined by python_ast_cdr_wrap.c */
void init_ast_cdr(void);
int python_cdr_load(void);
@@ -31,4 +31,11 @@
int python_cdr_reload(void);
void print_python_cdr_settings(int *fd);
+/*! defined in python_ast_channel_wrap.c */
+void init_ast_channel(void);
+
+int python_channel_load(void);
+int python_channel_unload(void);
+int python_channel_reload(void);
+
#endif /* RES_PYTHON_H */
More information about the asterisk-commits
mailing list