[Freeswitch-svn] [commit] r2959 - freeswitch/branches/outcast/src/mod/applications/mod_hello

Freeswitch SVN outcast at freeswitch.org
Mon Oct 2 21:41:42 EDT 2006


Author: outcast
Date: Mon Oct  2 21:41:41 2006
New Revision: 2959

Added:
   freeswitch/branches/outcast/src/mod/applications/mod_hello/
   freeswitch/branches/outcast/src/mod/applications/mod_hello/mod_hello.c

Log:
add mod_hello for real this time


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	Mon Oct  2 21:41:41 2006
@@ -0,0 +1,109 @@
+/* 
+ * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ * Copyright (C) 2005/2006, Anthony Minessale II <anthmct at 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 at yahoo.com>
+ * Portions created by the Initial Developer are Copyright (C)
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * 
+ * Anthony Minessale II <anthmct at 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;
+  }
+*/



More information about the Freeswitch-svn mailing list