提交 428cd029 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-4868 --resolve This patch also adds freeswitch.ready() which will return…

FS-4868 --resolve This patch also adds freeswitch.ready() which will return false once shutdown has started
上级 ff430489
......@@ -2042,6 +2042,8 @@ SWITCH_DECLARE(FILE *) switch_core_data_channel(switch_text_channel_t channel);
*/
SWITCH_DECLARE(switch_bool_t) switch_core_ready(void);
SWITCH_DECLARE(switch_bool_t) switch_core_running(void);
/*!
\brief Determines if the core is ready to take inbound calls
\return SWITCH_TRUE or SWITCH_FALSE
......
......@@ -71,6 +71,7 @@ SWITCH_DECLARE(char *) getGlobalVariable(char *var_name);
SWITCH_DECLARE(void) consoleLog(char *level_str, char *msg);
SWITCH_DECLARE(void) consoleCleanLog(char *msg);
SWITCH_DECLARE(bool) running(void);
SWITCH_DECLARE(bool) email(char *to, char *from, char *headers = NULL, char *body = NULL,
char *file = NULL, char *convert_cmd = NULL, char *convert_ext = NULL);
......
......@@ -177,7 +177,7 @@ public class CoreSession {
return freeswitchJNI.CoreSession_recordFile(swigCPtr, this, file_name, time_limit, silence_threshold, silence_hits);
}
public int originate(CoreSession a_leg_session, String dest, int timeout, SWIGTYPE_p_switch_state_handler_table_t handlers) {
protected int originate(CoreSession a_leg_session, String dest, int timeout, SWIGTYPE_p_switch_state_handler_table_t handlers) {
return freeswitchJNI.CoreSession_originate(swigCPtr, this, CoreSession.getCPtr(a_leg_session), a_leg_session, dest, timeout, SWIGTYPE_p_switch_state_handler_table_t.getCPtr(handlers));
}
......
......@@ -69,4 +69,8 @@ public class JavaSession extends CoreSession {
return new SWIGTYPE_p_switch_status_t(freeswitchJNI.JavaSession_run_dtmf_callback(swigCPtr, this, SWIGTYPE_p_void.getCPtr(input), SWIGTYPE_p_switch_input_type_t.getCPtr(itype)), true);
}
public int originate(JavaSession aleg, String destination, int timeout) {
return freeswitchJNI.JavaSession_originate(swigCPtr, this, JavaSession.getCPtr(aleg), aleg, destination, timeout);
}
}
......@@ -25,6 +25,10 @@ public class freeswitch {
freeswitchJNI.consoleCleanLog(msg);
}
public static boolean running() {
return freeswitchJNI.running();
}
public static boolean email(String to, String from, String headers, String body, String file, String convert_cmd, String convert_ext) {
return freeswitchJNI.email(to, from, headers, body, file, convert_cmd, convert_ext);
}
......@@ -62,4 +66,8 @@ public class freeswitch {
return (cPtr == 0) ? null : new SWIGTYPE_p_JavaVM(cPtr, false);
}
public static void setOriginateStateHandler(org.freeswitch.StateHandler stateHandler) throws java.util.TooManyListenersException {
freeswitchJNI.setOriginateStateHandler(stateHandler);
}
}
......@@ -13,6 +13,7 @@ class freeswitchJNI {
public final static native String getGlobalVariable(String jarg1);
public final static native void consoleLog(String jarg1, String jarg2);
public final static native void consoleCleanLog(String jarg1);
public final static native boolean running();
public final static native boolean email(String jarg1, String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, String jarg7);
public final static native long new_IVRMenu(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, String jarg7, String jarg8, String jarg9, String jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, int jarg16);
public final static native void delete_IVRMenu(long jarg1);
......@@ -162,6 +163,7 @@ class freeswitchJNI {
public final static native long dtmf_callback(long jarg1, long jarg2, long jarg3, long jarg4, long jarg5);
public final static native void javaVM_set(long jarg1);
public final static native long javaVM_get();
public final static native void setOriginateStateHandler(org.freeswitch.StateHandler jarg1) throws java.util.TooManyListenersException;
public final static native long new_JavaSession__SWIG_0();
public final static native long new_JavaSession__SWIG_1(String jarg1);
public final static native long new_JavaSession__SWIG_2(long jarg1);
......@@ -172,5 +174,6 @@ class freeswitchJNI {
public final static native void JavaSession_setHangupHook(long jarg1, JavaSession jarg1_, org.freeswitch.HangupHook jarg2);
public final static native void JavaSession_check_hangup_hook(long jarg1, JavaSession jarg1_);
public final static native long JavaSession_run_dtmf_callback(long jarg1, JavaSession jarg1_, long jarg2, long jarg3);
public final static native int JavaSession_originate(long jarg1, JavaSession jarg1_, long jarg2, JavaSession jarg2_, String jarg3, int jarg4);
public final static native long SWIGJavaSessionUpcast(long jarg1);
}
......@@ -199,6 +199,7 @@ static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionC
#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else
#include "switch.h"
#include "switch_cpp.h"
#include "freeswitch_java.h"
......@@ -286,6 +287,18 @@ SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_consoleCleanLog(J
}
SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_running(JNIEnv *jenv, jclass jcls) {
jboolean jresult = 0 ;
bool result;
(void)jenv;
(void)jcls;
result = (bool)running();
jresult = (jboolean)result;
return jresult;
}
SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_email(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2, jstring jarg3, jstring jarg4, jstring jarg5, jstring jarg6, jstring jarg7) {
jboolean jresult = 0 ;
char *arg1 = (char *) 0 ;
......@@ -3176,6 +3189,16 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_javaVM_1get(JNIE
}
SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_setOriginateStateHandler(JNIEnv *jenv, jclass jcls, jobject jarg1) {
jobject arg1 ;
(void)jenv;
(void)jcls;
arg1 = jarg1;
setOriginateStateHandler(arg1);
}
SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1JavaSession_1_1SWIG_10(JNIEnv *jenv, jclass jcls) {
jlong jresult = 0 ;
JavaSession *result = 0 ;
......@@ -3331,6 +3354,33 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_JavaSession_1run
}
SWIGEXPORT jint JNICALL Java_org_freeswitch_swig_freeswitchJNI_JavaSession_1originate(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jobject jarg2_, jstring jarg3, jint jarg4) {
jint jresult = 0 ;
JavaSession *arg1 = (JavaSession *) 0 ;
JavaSession *arg2 = (JavaSession *) 0 ;
char *arg3 = (char *) 0 ;
int arg4 ;
int result;
(void)jenv;
(void)jcls;
(void)jarg1_;
(void)jarg2_;
arg1 = *(JavaSession **)&jarg1;
arg2 = *(JavaSession **)&jarg2;
arg3 = 0;
if (jarg3) {
arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0);
if (!arg3) return 0;
}
arg4 = (int)jarg4;
result = (int)(arg1)->originate(arg2,arg3,arg4);
jresult = (jint)result;
if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3);
return jresult;
}
SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_SWIGJavaSessionUpcast(JNIEnv *jenv, jclass jcls, jlong jarg1) {
jlong baseptr = 0;
(void)jenv;
......
......@@ -1627,6 +1627,24 @@ fail:
}
static int _wrap_running(lua_State* L) {
int SWIG_arg = -1;
bool result;
SWIG_check_num_args("running",0,0)
result = (bool)running();
SWIG_arg=0;
lua_pushboolean(L,(int)(result==true)); SWIG_arg++;
return SWIG_arg;
if(0) SWIG_fail;
fail:
lua_error(L);
return SWIG_arg;
}
static int _wrap_email(lua_State* L) {
int SWIG_arg = -1;
char *arg1 = (char *) 0 ;
......@@ -7774,6 +7792,7 @@ static const struct luaL_reg swig_commands[] = {
{ "getGlobalVariable", _wrap_getGlobalVariable},
{ "consoleLog", _wrap_consoleLog},
{ "consoleCleanLog", _wrap_consoleCleanLog},
{ "running", _wrap_running},
{ "email", _wrap_email},
{ "console_log", _wrap_console_log},
{ "console_clean_log", _wrap_console_clean_log},
......
......@@ -52,6 +52,7 @@ package freeswitch;
*getGlobalVariable = *freeswitchc::getGlobalVariable;
*consoleLog = *freeswitchc::consoleLog;
*consoleCleanLog = *freeswitchc::consoleCleanLog;
*running = *freeswitchc::running;
*email = *freeswitchc::email;
*console_log = *freeswitchc::console_log;
*console_clean_log = *freeswitchc::console_clean_log;
......
......@@ -2051,6 +2051,24 @@ XS(_wrap_consoleCleanLog) {
}
XS(_wrap_running) {
{
bool result;
int argvi = 0;
dXSARGS;
if ((items < 0) || (items > 0)) {
SWIG_croak("Usage: running();");
}
result = (bool)running();
ST(argvi) = SWIG_From_bool SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
XSRETURN(argvi);
fail:
SWIG_croak_null();
}
}
XS(_wrap_email) {
{
char *arg1 = (char *) 0 ;
......@@ -9642,6 +9660,7 @@ static swig_command_info swig_commands[] = {
{"freeswitchc::getGlobalVariable", _wrap_getGlobalVariable},
{"freeswitchc::consoleLog", _wrap_consoleLog},
{"freeswitchc::consoleCleanLog", _wrap_consoleCleanLog},
{"freeswitchc::running", _wrap_running},
{"freeswitchc::email", _wrap_email},
{"freeswitchc::new_IVRMenu", _wrap_new_IVRMenu},
{"freeswitchc::delete_IVRMenu", _wrap_delete_IVRMenu},
......
......@@ -52,6 +52,7 @@ setGlobalVariable = _freeswitch.setGlobalVariable
getGlobalVariable = _freeswitch.getGlobalVariable
consoleLog = _freeswitch.consoleLog
consoleCleanLog = _freeswitch.consoleCleanLog
running = _freeswitch.running
email = _freeswitch.email
class IVRMenu(_object):
__swig_setmethods__ = {}
......
......@@ -3133,6 +3133,19 @@ fail:
}
SWIGINTERN PyObject *_wrap_running(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
bool result;
if (!PyArg_ParseTuple(args,(char *)":running")) SWIG_fail;
result = (bool)running();
resultobj = SWIG_From_bool(static_cast< bool >(result));
return resultobj;
fail:
return NULL;
}
SWIGINTERN PyObject *_wrap_email(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
char *arg1 = (char *) 0 ;
......@@ -9169,6 +9182,7 @@ static PyMethodDef SwigMethods[] = {
{ (char *)"getGlobalVariable", _wrap_getGlobalVariable, METH_VARARGS, NULL},
{ (char *)"consoleLog", _wrap_consoleLog, METH_VARARGS, NULL},
{ (char *)"consoleCleanLog", _wrap_consoleCleanLog, METH_VARARGS, NULL},
{ (char *)"running", _wrap_running, METH_VARARGS, NULL},
{ (char *)"email", _wrap_email, METH_VARARGS, NULL},
{ (char *)"new_IVRMenu", _wrap_new_IVRMenu, METH_VARARGS, NULL},
{ (char *)"delete_IVRMenu", _wrap_delete_IVRMenu, METH_VARARGS, NULL},
......
......@@ -2428,6 +2428,11 @@ SWITCH_DECLARE(switch_core_flag_t) switch_core_flags(void)
return runtime.flags;
}
SWITCH_DECLARE(switch_bool_t) switch_core_running(void)
{
return runtime.running ? SWITCH_TRUE : SWITCH_FALSE;
}
SWITCH_DECLARE(switch_bool_t) switch_core_ready(void)
{
return (switch_test_flag((&runtime), SCF_SHUTTING_DOWN) || switch_test_flag((&runtime), SCF_NO_NEW_SESSIONS) == SCF_NO_NEW_SESSIONS) ? SWITCH_FALSE : SWITCH_TRUE;
......
......@@ -1205,6 +1205,11 @@ SWITCH_DECLARE(char *) getGlobalVariable(char *var_name)
}
SWITCH_DECLARE(bool) running(void)
{
return switch_core_running() ? true : false;
}
SWITCH_DECLARE(void) consoleLog(char *level_str, char *msg)
{
return console_log(level_str, msg);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论