[Asterisk-cvs] asterisk-addons/res_perl AstAPIBase.c, 1.6,
1.7 AstAPIBase_wrap.c, 1.6, 1.7 res_perl.c, 1.6,
1.7 res_perl.h, 1.1, 1.2
anthm at lists.digium.com
anthm at lists.digium.com
Mon Jan 31 09:09:46 CST 2005
Update of /usr/cvsroot/asterisk-addons/res_perl
In directory mongoose.digium.com:/tmp/cvs-serv17094
Modified Files:
AstAPIBase.c AstAPIBase_wrap.c res_perl.c res_perl.h
Log Message:
update to match new config changes and add experimental change to config using a 2nd interpereter
Index: AstAPIBase.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/res_perl/AstAPIBase.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- AstAPIBase.c 10 Jan 2005 21:26:19 -0000 1.6
+++ AstAPIBase.c 31 Jan 2005 15:11:11 -0000 1.7
@@ -519,6 +519,20 @@
ast_set_callerid(chan, cid_name, cid_num, ani);
}
+
+char * asterisk_getcallerid(struct ast_channel *chan, char *what) {
+ if(!chan) {
+ ast_log(LOG_WARNING, "No Channel!\n");
+ return NULL;
+ }
+ if(!strcmp(what, "name"))
+ return chan->cid.cid_name;
+ else
+ return chan->cid.cid_num;
+
+
+}
+
int asterisk_channelstatus(struct ast_channel *chan) {
if(!chan) {
Index: AstAPIBase_wrap.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/res_perl/AstAPIBase_wrap.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- AstAPIBase_wrap.c 10 Jan 2005 21:26:19 -0000 1.6
+++ AstAPIBase_wrap.c 31 Jan 2005 15:11:11 -0000 1.7
@@ -812,6 +812,7 @@
extern int asterisk_soft_hangup(struct ast_channel *);
extern int asterisk_hangup(struct ast_channel *);
extern void asterisk_setcallerid(struct ast_channel *,char *,char *,char *);
+extern char *asterisk_getcallerid(struct ast_channel *,char *);
extern int asterisk_channelstatus(struct ast_channel *);
extern int asterisk_setvariable(struct ast_channel *,char *,char *);
extern char *asterisk_getvariable(struct ast_channel *,char *);
@@ -1658,6 +1659,40 @@
}
+XS(_wrap_asterisk_getcallerid) {
+ {
+ struct ast_channel *arg1 = (struct ast_channel *) 0 ;
+ char *arg2 ;
+ char *result;
+ int argvi = 0;
+ dXSARGS;
+
+ if ((items < 2) || (items > 2)) {
+ SWIG_croak("Usage: asterisk_getcallerid(chan,what);");
+ }
+ {
+ if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_ast_channel,0) < 0) {
+ SWIG_croak("Type error in argument 1 of asterisk_getcallerid. Expected _p_ast_channel");
+ }
+ }
+ if (!SvOK((SV*) ST(1))) arg2 = 0;
+ else arg2 = (char *) SvPV(ST(1), PL_na);
+ result = (char *)asterisk_getcallerid(arg1,arg2);
+
+ ST(argvi) = sv_newmortal();
+ if (result) {
+ sv_setpv((SV*)ST(argvi++), (char *) result);
+ } else {
+ sv_setsv((SV*)ST(argvi++), &PL_sv_undef);
+ }
+ XSRETURN(argvi);
+ fail:
+ ;
+ }
+ croak(Nullch);
+}
+
+
XS(_wrap_asterisk_channelstatus) {
{
struct ast_channel *arg1 = (struct ast_channel *) 0 ;
@@ -2486,6 +2521,7 @@
{"AstAPIBasec::asterisk_soft_hangup", _wrap_asterisk_soft_hangup},
{"AstAPIBasec::asterisk_hangup", _wrap_asterisk_hangup},
{"AstAPIBasec::asterisk_setcallerid", _wrap_asterisk_setcallerid},
+{"AstAPIBasec::asterisk_getcallerid", _wrap_asterisk_getcallerid},
{"AstAPIBasec::asterisk_channelstatus", _wrap_asterisk_channelstatus},
{"AstAPIBasec::asterisk_setvariable", _wrap_asterisk_setvariable},
{"AstAPIBasec::asterisk_getvariable", _wrap_asterisk_getvariable},
Index: res_perl.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/res_perl/res_perl.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- res_perl.c 19 Dec 2004 16:04:10 -0000 1.6
+++ res_perl.c 31 Jan 2005 15:11:11 -0000 1.7
@@ -17,12 +17,13 @@
#include <res_perl.h>
#define RES_PERL_VERSION "1.0"
-#define CREATE_STRING(name,size) char name[size];
+#define CREATE_STRING(name, size) char name[size];
//#define CHAN_INFO
// <PERL SPECIFIC MUMBO JUMBO>
-static PerlInterpreter *global_perl;
-static char *embedding[] = { "", "-e",""};
+static PerlInterpreter *global_perl = NULL;
[...1110 lines suppressed...]
- if (hv_exists(PERL_CONFIG,"USE_SWITCH",strlen("USE_SWITCH"))) {
- rval = get_hash_val(my_perl,PERL_CONFIG,"USE_SWITCH");
+ if (hv_exists(PERL_CONFIG, "USE_SWITCH", strlen("USE_SWITCH"))) {
+ rval = get_hash_val(my_perl, PERL_CONFIG, "USE_SWITCH");
if (rval && ast_true(rval)) {
use_switch = 1;
if (ast_register_switch(&perl_switch))
@@ -1035,7 +1034,11 @@
} else
ast_log(LOG_NOTICE, "Perl Switch Disabled.\n");
} else
- ast_log(LOG_WARNING,"CONFIG HASH TABLE %%PERL_CONFIG NOT FOUND MANY FEATURES DISABLED!\n");
+ ast_log(LOG_WARNING, "CONFIG HASH TABLE %%PERL_CONFIG NOT FOUND MANY FEATURES DISABLED!\n");
+
+ if (use_config && config_perl == NULL)
+ config_perl = init_perl(global_config_use_mod,&perl_config_lock);
+
return ast_register_application(app, perl_exec, synopsis, descrip);
}
Index: res_perl.h
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/res_perl/res_perl.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- res_perl.h 23 Sep 2004 17:49:42 -0000 1.1
+++ res_perl.h 31 Jan 2005 15:11:11 -0000 1.2
@@ -23,7 +23,7 @@
#include <asterisk/channel_pvt.h>
#include <asterisk/cli.h>
#include <asterisk/config.h>
-#include <asterisk/config_pvt.h>
+//#include <asterisk/config_pvt.h>
#include <asterisk/file.h>
#include <asterisk/linkedlists.h>
#include <asterisk/lock.h>
More information about the svn-commits
mailing list