git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8226 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
8f5a873dc7
commit
bf3aaafc20
|
@ -335,18 +335,6 @@ sub DESTROY {
|
|||
*end_allow_threads = *freeswitchc::Session_end_allow_threads;
|
||||
*check_hangup_hook = *freeswitchc::Session_check_hangup_hook;
|
||||
*run_dtmf_callback = *freeswitchc::Session_run_dtmf_callback;
|
||||
*swig_session_get = *freeswitchc::Session_session_get;
|
||||
*swig_session_set = *freeswitchc::Session_session_set;
|
||||
*swig_channel_get = *freeswitchc::Session_channel_get;
|
||||
*swig_channel_set = *freeswitchc::Session_channel_set;
|
||||
*swig_flags_get = *freeswitchc::Session_flags_get;
|
||||
*swig_flags_set = *freeswitchc::Session_flags_set;
|
||||
*swig_allocated_get = *freeswitchc::Session_allocated_get;
|
||||
*swig_allocated_set = *freeswitchc::Session_allocated_set;
|
||||
*swig_cb_state_get = *freeswitchc::Session_cb_state_get;
|
||||
*swig_cb_state_set = *freeswitchc::Session_cb_state_set;
|
||||
*swig_hook_state_get = *freeswitchc::Session_hook_state_get;
|
||||
*swig_hook_state_set = *freeswitchc::Session_hook_state_set;
|
||||
sub DISOWN {
|
||||
my $self = shift;
|
||||
my $ptr = tied(%$self);
|
||||
|
|
|
@ -22,57 +22,6 @@ class Session : public CoreSession {
|
|||
virtual void check_hangup_hook();
|
||||
virtual switch_status_t run_dtmf_callback(void *input, switch_input_type_t itype);
|
||||
|
||||
switch_core_session_t *session;
|
||||
switch_channel_t *channel;
|
||||
unsigned int flags;
|
||||
int allocated;
|
||||
input_callback_state cb_state; // callback state, always pointed to by the buf
|
||||
// field in this->args
|
||||
switch_channel_state_t hook_state; // store hookstate for on_hangup callback
|
||||
|
||||
#if 0
|
||||
|
||||
int answer();
|
||||
int preAnswer();
|
||||
virtual void hangup(char *cause);
|
||||
void setVariable(char *var, char *val);
|
||||
const char *getVariable(char *var);
|
||||
int recordFile(char *file_name, int max_len=0, int silence_threshold=0, int silence_secs=0);
|
||||
void setCallerData(char *var, char *val);
|
||||
int originate(CoreSession *a_leg_session, char *dest, int timeout=60);
|
||||
void setDTMFCallback(void *cbfunc, char *funcargs);
|
||||
int speak(char *text);
|
||||
void set_tts_parms(char *tts_name, char *voice_name);
|
||||
int collectDigits(int timeout);
|
||||
int getDigits(char *dtmf_buf,
|
||||
switch_size_t buflen,
|
||||
switch_size_t maxdigits,
|
||||
char *terminators,
|
||||
char *terminator,
|
||||
int timeout);
|
||||
|
||||
int transfer(char *extensions, char *dialplan, char *context);
|
||||
int playAndGetDigits(int min_digits,
|
||||
int max_digits,
|
||||
int max_tries,
|
||||
int timeout,
|
||||
char *terminators,
|
||||
char *audio_files,
|
||||
char *bad_input_audio_files,
|
||||
char *dtmf_buf,
|
||||
char *digits_regex);
|
||||
|
||||
int streamFile(char *file, int starting_sample_count=0);
|
||||
int flushEvents();
|
||||
int flushDigits();
|
||||
int setAutoHangup(bool val);
|
||||
void setHangupHook(void *hangup_func);
|
||||
bool ready();
|
||||
void execute(char *app, char *data);
|
||||
char* get_uuid();
|
||||
const switch_input_args_t& get_cb_args();
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -6695,406 +6695,6 @@ XS(_wrap_Session_run_dtmf_callback) {
|
|||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_session_set) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
void *argp2 = 0 ;
|
||||
int res2 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 2) || (items > 2)) {
|
||||
SWIG_croak("Usage: Session_session_set(self,session);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_session_set" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_switch_core_session_t, SWIG_POINTER_DISOWN | 0 );
|
||||
if (!SWIG_IsOK(res2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_session_set" "', argument " "2"" of type '" "switch_core_session_t *""'");
|
||||
}
|
||||
arg2 = reinterpret_cast< switch_core_session_t * >(argp2);
|
||||
if (arg1) (arg1)->session = arg2;
|
||||
|
||||
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_session_get) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
switch_core_session_t *result = 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 1) || (items > 1)) {
|
||||
SWIG_croak("Usage: Session_session_get(self);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_session_get" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
result = (switch_core_session_t *) ((arg1)->session);
|
||||
ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_core_session_t, 0 | 0); argvi++ ;
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_channel_set) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
switch_channel_t *arg2 = (switch_channel_t *) 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
void *argp2 = 0 ;
|
||||
int res2 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 2) || (items > 2)) {
|
||||
SWIG_croak("Usage: Session_channel_set(self,channel);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_channel_set" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_switch_channel_t, SWIG_POINTER_DISOWN | 0 );
|
||||
if (!SWIG_IsOK(res2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_channel_set" "', argument " "2"" of type '" "switch_channel_t *""'");
|
||||
}
|
||||
arg2 = reinterpret_cast< switch_channel_t * >(argp2);
|
||||
if (arg1) (arg1)->channel = arg2;
|
||||
|
||||
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_channel_get) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
switch_channel_t *result = 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 1) || (items > 1)) {
|
||||
SWIG_croak("Usage: Session_channel_get(self);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_channel_get" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
result = (switch_channel_t *) ((arg1)->channel);
|
||||
ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_switch_channel_t, 0 | 0); argvi++ ;
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_flags_set) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
unsigned int arg2 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
unsigned int val2 ;
|
||||
int ecode2 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 2) || (items > 2)) {
|
||||
SWIG_croak("Usage: Session_flags_set(self,flags);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_flags_set" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
|
||||
if (!SWIG_IsOK(ecode2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Session_flags_set" "', argument " "2"" of type '" "unsigned int""'");
|
||||
}
|
||||
arg2 = static_cast< unsigned int >(val2);
|
||||
if (arg1) (arg1)->flags = arg2;
|
||||
|
||||
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_flags_get) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
unsigned int result;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 1) || (items > 1)) {
|
||||
SWIG_croak("Usage: Session_flags_get(self);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_flags_get" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
result = (unsigned int) ((arg1)->flags);
|
||||
ST(argvi) = SWIG_From_unsigned_SS_int SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_allocated_set) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
int arg2 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int val2 ;
|
||||
int ecode2 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 2) || (items > 2)) {
|
||||
SWIG_croak("Usage: Session_allocated_set(self,allocated);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_allocated_set" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
|
||||
if (!SWIG_IsOK(ecode2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Session_allocated_set" "', argument " "2"" of type '" "int""'");
|
||||
}
|
||||
arg2 = static_cast< int >(val2);
|
||||
if (arg1) (arg1)->allocated = arg2;
|
||||
|
||||
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_allocated_get) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
int result;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 1) || (items > 1)) {
|
||||
SWIG_croak("Usage: Session_allocated_get(self);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_allocated_get" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
result = (int) ((arg1)->allocated);
|
||||
ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_cb_state_set) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
input_callback_state *arg2 = (input_callback_state *) 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
void *argp2 = 0 ;
|
||||
int res2 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 2) || (items > 2)) {
|
||||
SWIG_croak("Usage: Session_cb_state_set(self,cb_state);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_cb_state_set" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_input_callback_state, 0 | 0 );
|
||||
if (!SWIG_IsOK(res2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_cb_state_set" "', argument " "2"" of type '" "input_callback_state *""'");
|
||||
}
|
||||
arg2 = reinterpret_cast< input_callback_state * >(argp2);
|
||||
if (arg1) (arg1)->cb_state = *arg2;
|
||||
|
||||
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_cb_state_get) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
input_callback_state *result = 0 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 1) || (items > 1)) {
|
||||
SWIG_croak("Usage: Session_cb_state_get(self);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_cb_state_get" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
result = (input_callback_state *)& ((arg1)->cb_state);
|
||||
ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_input_callback_state, 0 | SWIG_SHADOW); argvi++ ;
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_hook_state_set) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
switch_channel_state_t arg2 ;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
void *argp2 ;
|
||||
int res2 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 2) || (items > 2)) {
|
||||
SWIG_croak("Usage: Session_hook_state_set(self,hook_state);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_hook_state_set" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
{
|
||||
res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_switch_channel_state_t, 0 );
|
||||
if (!SWIG_IsOK(res2)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_hook_state_set" "', argument " "2"" of type '" "switch_channel_state_t""'");
|
||||
}
|
||||
if (!argp2) {
|
||||
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Session_hook_state_set" "', argument " "2"" of type '" "switch_channel_state_t""'");
|
||||
} else {
|
||||
arg2 = *(reinterpret_cast< switch_channel_state_t * >(argp2));
|
||||
}
|
||||
}
|
||||
if (arg1) (arg1)->hook_state = arg2;
|
||||
|
||||
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
XS(_wrap_Session_hook_state_get) {
|
||||
{
|
||||
Session *arg1 = (Session *) 0 ;
|
||||
switch_channel_state_t result;
|
||||
void *argp1 = 0 ;
|
||||
int res1 = 0 ;
|
||||
int argvi = 0;
|
||||
dXSARGS;
|
||||
|
||||
if ((items < 1) || (items > 1)) {
|
||||
SWIG_croak("Usage: Session_hook_state_get(self);");
|
||||
}
|
||||
res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Session, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_hook_state_get" "', argument " "1"" of type '" "Session *""'");
|
||||
}
|
||||
arg1 = reinterpret_cast< Session * >(argp1);
|
||||
result = ((arg1)->hook_state);
|
||||
ST(argvi) = SWIG_NewPointerObj((new switch_channel_state_t(static_cast< const switch_channel_state_t& >(result))), SWIGTYPE_p_switch_channel_state_t, SWIG_POINTER_OWN | 0); argvi++ ;
|
||||
|
||||
XSRETURN(argvi);
|
||||
fail:
|
||||
|
||||
SWIG_croak_null();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
|
||||
|
||||
|
@ -7292,18 +6892,6 @@ static swig_command_info swig_commands[] = {
|
|||
{"freeswitchc::Session_end_allow_threads", _wrap_Session_end_allow_threads},
|
||||
{"freeswitchc::Session_check_hangup_hook", _wrap_Session_check_hangup_hook},
|
||||
{"freeswitchc::Session_run_dtmf_callback", _wrap_Session_run_dtmf_callback},
|
||||
{"freeswitchc::Session_session_set", _wrap_Session_session_set},
|
||||
{"freeswitchc::Session_session_get", _wrap_Session_session_get},
|
||||
{"freeswitchc::Session_channel_set", _wrap_Session_channel_set},
|
||||
{"freeswitchc::Session_channel_get", _wrap_Session_channel_get},
|
||||
{"freeswitchc::Session_flags_set", _wrap_Session_flags_set},
|
||||
{"freeswitchc::Session_flags_get", _wrap_Session_flags_get},
|
||||
{"freeswitchc::Session_allocated_set", _wrap_Session_allocated_set},
|
||||
{"freeswitchc::Session_allocated_get", _wrap_Session_allocated_get},
|
||||
{"freeswitchc::Session_cb_state_set", _wrap_Session_cb_state_set},
|
||||
{"freeswitchc::Session_cb_state_get", _wrap_Session_cb_state_get},
|
||||
{"freeswitchc::Session_hook_state_set", _wrap_Session_hook_state_set},
|
||||
{"freeswitchc::Session_hook_state_get", _wrap_Session_hook_state_get},
|
||||
{0,0}
|
||||
};
|
||||
/* -----------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue