[asterisk-commits] kmoore: branch kmoore/stasis-bridging-channel_events r385977 - /team/kmoore/s...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Apr 17 13:23:10 CDT 2013
Author: kmoore
Date: Wed Apr 17 13:23:06 2013
New Revision: 385977
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=385977
Log:
Restore app_stasis.c after a botched merge
Added:
team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c (with props)
Added: team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c
URL: http://svnview.digium.com/svn/asterisk/team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c?view=auto&rev=385977
==============================================================================
--- team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c (added)
+++ team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c Wed Apr 17 13:23:06 2013
@@ -1,0 +1,111 @@
+/*
+ * Asterisk -- An open source telephony toolkit.
+ *
+ * Copyright (C) 2012 - 2013, Digium, Inc.
+ *
+ * David M. Lee, II <dlee at digium.com>
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE file
+ * at the top of the source tree.
+ */
+
+/*! \file
+ *
+ * \brief Stasis dialplan application.
+ *
+ * \author David M. Lee, II <dlee at digium.com>
+ */
+
+/*** MODULEINFO
+ <depend>res_stasis</depend>
+ <support_level>core</support_level>
+ ***/
+
+#include "asterisk.h"
+
+ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
+
+#include "asterisk/app.h"
+#include "asterisk/module.h"
+#include "asterisk/stasis.h"
+#include "asterisk/stasis_app.h"
+
+/*** DOCUMENTATION
+ <application name="Stasis" language="en_US">
+ <synopsis>Invoke an external Stasis application.</synopsis>
+ <syntax>
+ <parameter name="app_name" required="true">
+ <para>Name of the application to invoke.</para>
+ </parameter>
+ <parameter name="args">
+ <para>Optional comma-delimited arguments for the
+ application invocation.</para>
+ </parameter>
+ </syntax>
+ <description>
+ <para>
+ Invoke a Stasis application.
+ </para>
+ </description>
+ </application>
+ ***/
+
+/*! \brief Maximum number of arguments for the Stasis dialplan application */
+#define MAX_ARGS 128
+
+/*! \brief Dialplan application name */
+static const char *stasis = "Stasis";
+
+/*! /brief Stasis dialplan application callback */
+static int app_exec(struct ast_channel *chan, const char *data)
+{
+ char *parse = NULL;
+
+ AST_DECLARE_APP_ARGS(args,
+ AST_APP_ARG(app_name);
+ AST_APP_ARG(app_argv)[MAX_ARGS];
+ );
+
+ ast_assert(chan != NULL);
+ ast_assert(data != NULL);
+
+ /* parse the arguments */
+ parse = ast_strdupa(data);
+ AST_STANDARD_APP_ARGS(args, parse);
+
+ if (args.argc < 1) {
+ ast_log(LOG_WARNING, "Stasis app_name argument missing\n");
+ return -1;
+ }
+
+ return stasis_app_exec(
+ chan, args.app_name, args.argc - 1, args.app_argv);
+}
+
+static int load_module(void)
+{
+ int r = 0;
+
+ r |= ast_register_application_xml(stasis, app_exec);
+ return r;
+}
+
+static int unload_module(void)
+{
+ int r = 0;
+
+ r |= ast_unregister_application(stasis);
+ return r;
+}
+
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS,
+ "Stasis dialplan application",
+ .load = load_module,
+ .unload = unload_module);
Propchange: team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: team/kmoore/stasis-bridging-channel_events/apps/app_stasis.c
------------------------------------------------------------------------------
svn:mime-type = text/plain
More information about the asterisk-commits
mailing list