summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid M. Lee <dlee@digium.com>2013-05-15 21:13:29 +0000
committerDavid M. Lee <dlee@digium.com>2013-05-15 21:13:29 +0000
commit15945a7185187a3d79c7c7247a297bf92b49c139 (patch)
tree6edb9ab0b1d828a71dda055ce9fd049c38988edf
parent2eebab399286199e7d4b57d9cb0b9847e98a698a (diff)
Fixed inverted logic in app_add_channel().
Also added some missing doc comments for stasis/app.h. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@388896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--res/stasis/app.c5
-rw-r--r--res/stasis/app.h63
2 files changed, 63 insertions, 5 deletions
diff --git a/res/stasis/app.c b/res/stasis/app.c
index d552eb4ab..229f4bb20 100644
--- a/res/stasis/app.c
+++ b/res/stasis/app.c
@@ -95,10 +95,7 @@ int app_add_channel(struct app *app, const struct ast_channel *chan)
ast_assert(app != NULL);
uniqueid = ast_channel_uniqueid(chan);
- if (!ast_str_container_add(app->channels, uniqueid)) {
- return -1;
- }
- return 0;
+ return ast_str_container_add(app->channels, uniqueid) ? -1 : 0;
}
void app_remove_channel(struct app* app, const struct ast_channel *chan)
diff --git a/res/stasis/app.h b/res/stasis/app.h
index 7b76db107..c9e63502d 100644
--- a/res/stasis/app.h
+++ b/res/stasis/app.h
@@ -56,22 +56,83 @@ struct app *app_create(const char *name, stasis_app_cb handler, void *data);
*/
void app_update(struct app *app, stasis_app_cb handler, void *data);
+/*!
+ * \brief Return an application's name.
+ *
+ * \param app Application.
+ * \return Name of the application.
+ * \return \c NULL is \a app is \c NULL.
+ */
const char *app_name(const struct app *app);
+/*!
+ * \brief Subscribe an application to a topic.
+ *
+ * \param app Application.
+ * \param topic Topic to subscribe to.
+ * \return New subscription.
+ * \return \c NULL on error.
+ */
struct stasis_subscription *app_subscribe(struct app *app,
struct stasis_topic *topic);
+/*!
+ * \brief Send a message to an application.
+ *
+ * \param app Application.
+ * \param message Message to send.
+ */
void app_send(struct app *app, struct ast_json *message);
+/*!
+ * \brief Send the start message to an application.
+ *
+ * \param app Application.
+ * \param chan The channel entering the application.
+ * \param argc The number of arguments for the application.
+ * \param argv The arguments for the application.
+ * \return 0 on success.
+ * \return Non-zero on error.
+ */
int app_send_start_msg(struct app *app, struct ast_channel *chan, int argc,
char *argv[]);
+/*!
+ * \brief Send the end message to an application.
+ *
+ * \param app Application.
+ * \param chan The channel leaving the application.
+ * \return 0 on success.
+ * \return Non-zero on error.
+ */
int app_send_end_msg(struct app *app, struct ast_channel *chan);
+/*!
+ * \brief Checks if an application is watching a given channel.
+ *
+ * \param app Application.
+ * \param uniqueid Uniqueid of the channel to check about.
+ * \return True (non-zero) if \a app is watching channel with given \a uniqueid
+ * \return False (zero) if \a app isn't.
+ */
int app_is_watching_channel(struct app *app, const char *uniqueid);
-int app_add_channel(struct app* app, const struct ast_channel *chan);
+/*!
+ * \brief Add a channel to an application's watch list.
+ *
+ * \param app Application.
+ * \param chan Channel to watch.
+ * \return 0 on success.
+ * \return Non-zero on error.
+ */
+int app_add_channel(struct app *app, const struct ast_channel *chan);
+/*!
+ * \brief Remove a channel from an application's watch list.
+ *
+ * \param app Application.
+ * \param chan Channel to watch.
+ */
void app_remove_channel(struct app *app, const struct ast_channel *chan);
#endif /* _ASTERISK_RES_STASIS_APP_H */