Author: outcast Date: Wed Dec 27 22:24:12 2006 New Revision: 3857 Added: freeswitch/branches/outcast/src/mod/applications/mod_hello/ freeswitch/branches/outcast/src/mod/applications/mod_hello/mod_hello.c Log: adding back mod_hello Added: freeswitch/branches/outcast/src/mod/applications/mod_hello/mod_hello.c ============================================================================== --- (empty file) +++ freeswitch/branches/outcast/src/mod/applications/mod_hello/mod_hello.c Wed Dec 27 22:24:12 2006 @@ -0,0 +1,109 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II <anthmct@yahoo.com> + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Anthony Minessale II <anthmct@yahoo.com> + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Anthony Minessale II <anthmct@yahoo.com> + * + * + * + * mod_skel.c -- Framework Demo Module + * + */ +#include <switch.h> + +static const char modname[] = "mod_hello"; +static const char global_app_name[] = "hello"; +static char *global_cf_name = "hello.conf"; + +#define CONF_DBLOCK_SIZE CONF_BUFFER_SIZE +#define CONF_DBUFFER_SIZE CONF_BUFFER_SIZE +#define CONF_DBUFFER_MAX 0 + +static void hello_function(switch_core_session_t *session, char *data) +{ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "%s\n", global_cf_name); + +} + +static switch_status_t hello2_function(char *buf, switch_core_session_t *session, switch_stream_handle_t *stream) +{ + switch_status_t status = SWITCH_STATUS_SUCCESS; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "This is what is in the buf: %s\n", buf); + return status; +} + +static const switch_application_interface_t hello_application_interface = { + /*.interface_name */ "hello", + /*.application_function */ hello_function, + NULL,NULL,NULL,NULL +}; + +static switch_api_interface_t hello_api_interface = { + /*.interface_name */ "hello", + /*.desc */ "Hello", + /*.function */ &hello2_function + /*.next */ +}; + +static switch_loadable_module_interface_t hello_module_interface = { + /*.module_name */ modname, + /*.endpoint_interface */ NULL, + /*.timer_interface */ NULL, + /*.dialplan_interface */ NULL, + /*.codec_interface */ NULL, + /*.application_interface */ &hello_application_interface, + /*.api_interface */ &hello_api_interface, + /*.file_interface */ NULL, + /*.speech_interface */ NULL, + /*.directory_interface */ NULL +}; + +SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename) +{ + /* connect my internal structure to the blank pointer passed to me */ + *module_interface = &hello_module_interface; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Hello World!\n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "The config file used is: %s\n", global_cf_name); + + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; +} + +/* + Called when the system shuts down + SWITCH_MOD_DECLARE(switch_status) switch_module_shutdown(void) + { + return SWITCH_STATUS_SUCCESS; + } +*/ + +/* + If it exists, this is called in it's own thread when the module-load completes + SWITCH_MOD_DECLARE(switch_status) switch_module_shutdown(void) + { + return SWITCH_STATUS_SUCCESS; + } +*/