[Freeswitch-svn] [commit] r4883 - in freeswitch/trunk: libs/libdingaling/src src/mod/endpoints/mod_dingaling
Freeswitch SVN
anthm at freeswitch.org
Sat Apr 7 11:55:08 EDT 2007
Author: anthm
Date: Sat Apr 7 11:55:07 2007
New Revision: 4883
Modified:
freeswitch/trunk/libs/libdingaling/src/libdingaling.c
freeswitch/trunk/libs/libdingaling/src/libdingaling.h
freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
Log:
add dl_debug api command
Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.c
==============================================================================
--- freeswitch/trunk/libs/libdingaling/src/libdingaling.c (original)
+++ freeswitch/trunk/libs/libdingaling/src/libdingaling.c Sat Apr 7 11:55:07 2007
@@ -1391,9 +1391,9 @@
handle,
(iksStreamHook *) (ldl_test_flag(handle, LDL_FLAG_COMPONENT) ? on_stream_component : on_stream));
- if (globals.debug) {
- iks_set_log_hook(handle->parser, (iksLogHook *) on_log);
- }
+
+ iks_set_log_hook(handle->parser, (iksLogHook *) on_log);
+
strncpy(tmp, jabber_id, sizeof(tmp)-1);
sl = strchr(tmp, '/');
@@ -1763,6 +1763,15 @@
}
+int ldl_global_debug(int on)
+{
+ if (on > -1) {
+ globals.debug = on ? 1 : 0;
+ }
+
+ return globals.debug ? 1 : 0;
+}
+
void ldl_global_set_logger(ldl_logger_t logger)
{
globals.logger = logger;
Modified: freeswitch/trunk/libs/libdingaling/src/libdingaling.h
==============================================================================
--- freeswitch/trunk/libs/libdingaling/src/libdingaling.h (original)
+++ freeswitch/trunk/libs/libdingaling/src/libdingaling.h Sat Apr 7 11:55:07 2007
@@ -376,6 +376,13 @@
void ldl_session_accept_candidate(ldl_session_t *session, ldl_candidate_t *candidate);
/*!
+ \brief turn logging on/off
+ \param on (TRUE or FALSE)
+ \return current state
+*/
+int ldl_global_debug(int on);
+
+/*!
\brief Set a custom logger
\param logger the logger function
*/
Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c (original)
+++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c Sat Apr 7 11:55:07 2007
@@ -192,6 +192,7 @@
static switch_status_t dl_login(char *arg, switch_core_session_t *session, switch_stream_handle_t *stream);
static switch_status_t dl_logout(char *profile_name, switch_core_session_t *session, switch_stream_handle_t *stream);
static switch_status_t dl_pres(char *profile_name, switch_core_session_t *session, switch_stream_handle_t *stream);
+static switch_status_t dl_debug(char *profile_name, switch_core_session_t *session, switch_stream_handle_t *stream);
static switch_status_t channel_on_init(switch_core_session_t *session);
static switch_status_t channel_on_hangup(switch_core_session_t *session);
static switch_status_t channel_on_ring(switch_core_session_t *session);
@@ -1586,12 +1587,20 @@
};
+static switch_api_interface_t debug_api_interface = {
+ /*.interface_name */ "dl_debug",
+ /*.desc */ "DingaLing Presence",
+ /*.function */ dl_debug,
+ /*.syntax */ "dl_debug [true|false]",
+ /*.next */ NULL
+};
+
static switch_api_interface_t pres_api_interface = {
/*.interface_name */ "dl_pres",
/*.desc */ "DingaLing Presence",
/*.function */ dl_pres,
/*.syntax */ "dl_pres <profile_name>",
- /*.next */ NULL
+ /*.next */ &debug_api_interface
};
static switch_api_interface_t logout_api_interface = {
@@ -1998,6 +2007,27 @@
}
}
+static switch_status_t dl_debug(char *tf, switch_core_session_t *session, switch_stream_handle_t *stream)
+{
+ int on, cur;
+
+ if (session) {
+ return SWITCH_STATUS_FALSE;
+ }
+
+ if (tf) {
+ on = switch_true(tf);
+ cur = ldl_global_debug(on);
+ } else {
+ cur = ldl_global_debug(-1);
+ }
+
+
+ stream->write_function(stream, "DEBUG IS NOW %s\n", cur ? "ON" : "OFF");
+
+ return SWITCH_STATUS_SUCCESS;
+}
+
static switch_status_t dl_pres(char *profile_name, switch_core_session_t *session, switch_stream_handle_t *stream)
{
mdl_profile_t *profile;
More information about the Freeswitch-svn
mailing list