res_pjsip_session: properly handle SDP from a forked call with early media
[asterisk/asterisk.git] / res / ari / resource_applications.h
index 34da3c1..be62e9d 100644 (file)
@@ -39,8 +39,8 @@
 
 #include "asterisk/ari.h"
 
-/*! \brief Argument struct for ast_ari_get_applications() */
-struct ast_get_applications_args {
+/*! Argument struct for ast_ari_applications_list() */
+struct ast_ari_applications_list_args {
 };
 /*!
  * \brief List all applications.
@@ -49,10 +49,10 @@ struct ast_get_applications_args {
  * \param args Swagger parameters
  * \param[out] response HTTP response
  */
-void ast_ari_get_applications(struct ast_variable *headers, struct ast_get_applications_args *args, struct ast_ari_response *response);
-/*! \brief Argument struct for ast_ari_get_application() */
-struct ast_get_application_args {
-       /*! \brief Application's name */
+void ast_ari_applications_list(struct ast_variable *headers, struct ast_ari_applications_list_args *args, struct ast_ari_response *response);
+/*! Argument struct for ast_ari_applications_get() */
+struct ast_ari_applications_get_args {
+       /*! Application's name */
        const char *application_name;
 };
 /*!
@@ -62,19 +62,30 @@ struct ast_get_application_args {
  * \param args Swagger parameters
  * \param[out] response HTTP response
  */
-void ast_ari_get_application(struct ast_variable *headers, struct ast_get_application_args *args, struct ast_ari_response *response);
-/*! \brief Argument struct for ast_ari_application_subscribe() */
-struct ast_application_subscribe_args {
-       /*! \brief Application's name */
+void ast_ari_applications_get(struct ast_variable *headers, struct ast_ari_applications_get_args *args, struct ast_ari_response *response);
+/*! Argument struct for ast_ari_applications_subscribe() */
+struct ast_ari_applications_subscribe_args {
+       /*! Application's name */
        const char *application_name;
-       /*! \brief Array of URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}/{resource} */
+       /*! Array of URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}[/{resource}], deviceState:{deviceName} */
        const char **event_source;
-       /*! \brief Length of event_source array. */
+       /*! Length of event_source array. */
        size_t event_source_count;
-       /*! \brief Parsing context for event_source. */
+       /*! Parsing context for event_source. */
        char *event_source_parse;
 };
 /*!
+ * \brief Body parsing function for /applications/{applicationName}/subscription.
+ * \param body The JSON body from which to parse parameters.
+ * \param[out] args The args structure to parse into.
+ * \retval zero on success
+ * \retval non-zero on failure
+ */
+int ast_ari_applications_subscribe_parse_body(
+       struct ast_json *body,
+       struct ast_ari_applications_subscribe_args *args);
+
+/*!
  * \brief Subscribe an application to a event source.
  *
  * Returns the state of the application after the subscriptions have changed
@@ -83,19 +94,30 @@ struct ast_application_subscribe_args {
  * \param args Swagger parameters
  * \param[out] response HTTP response
  */
-void ast_ari_application_subscribe(struct ast_variable *headers, struct ast_application_subscribe_args *args, struct ast_ari_response *response);
-/*! \brief Argument struct for ast_ari_application_unsubscribe() */
-struct ast_application_unsubscribe_args {
-       /*! \brief Application's name */
+void ast_ari_applications_subscribe(struct ast_variable *headers, struct ast_ari_applications_subscribe_args *args, struct ast_ari_response *response);
+/*! Argument struct for ast_ari_applications_unsubscribe() */
+struct ast_ari_applications_unsubscribe_args {
+       /*! Application's name */
        const char *application_name;
-       /*! \brief Array of URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}/{resource} */
+       /*! Array of URI for event source (channel:{channelId}, bridge:{bridgeId}, endpoint:{tech}[/{resource}], deviceState:{deviceName} */
        const char **event_source;
-       /*! \brief Length of event_source array. */
+       /*! Length of event_source array. */
        size_t event_source_count;
-       /*! \brief Parsing context for event_source. */
+       /*! Parsing context for event_source. */
        char *event_source_parse;
 };
 /*!
+ * \brief Body parsing function for /applications/{applicationName}/subscription.
+ * \param body The JSON body from which to parse parameters.
+ * \param[out] args The args structure to parse into.
+ * \retval zero on success
+ * \retval non-zero on failure
+ */
+int ast_ari_applications_unsubscribe_parse_body(
+       struct ast_json *body,
+       struct ast_ari_applications_unsubscribe_args *args);
+
+/*!
  * \brief Unsubscribe an application from an event source.
  *
  * Returns the state of the application after the subscriptions have changed
@@ -104,6 +126,6 @@ struct ast_application_unsubscribe_args {
  * \param args Swagger parameters
  * \param[out] response HTTP response
  */
-void ast_ari_application_unsubscribe(struct ast_variable *headers, struct ast_application_unsubscribe_args *args, struct ast_ari_response *response);
+void ast_ari_applications_unsubscribe(struct ast_variable *headers, struct ast_ari_applications_unsubscribe_args *args, struct ast_ari_response *response);
 
 #endif /* _ASTERISK_RESOURCE_APPLICATIONS_H */