res_ari_events: Fix shutdown ref leak.
[asterisk/asterisk.git] / res / ari / resource_events.h
index 0807709..aa1e3df 100644 (file)
 
 #include "asterisk/ari.h"
 
 
 #include "asterisk/ari.h"
 
-/*! \brief Argument struct for ast_ari_events_event_websocket() */
+/*! Argument struct for ast_ari_events_event_websocket() */
 struct ast_ari_events_event_websocket_args {
 struct ast_ari_events_event_websocket_args {
-       /*! \brief Array of Applications to subscribe to. */
+       /*! Array of Applications to subscribe to. */
        const char **app;
        const char **app;
-       /*! \brief Length of app array. */
+       /*! Length of app array. */
        size_t app_count;
        size_t app_count;
-       /*! \brief Parsing context for app. */
+       /*! Parsing context for app. */
        char *app_parse;
 };
        char *app_parse;
 };
+
+/*!
+ * \brief WebSocket connection for events.
+ *
+ * \retval  0 success
+ * \retval -1 error
+ */
+int ast_ari_websocket_events_event_websocket_init(void);
+
+/*!
+ * \brief WebSocket connection for events.
+ *
+ * \return Nothing
+ */
+void ast_ari_websocket_events_event_websocket_dtor(void);
+
+/*!
+ * \brief WebSocket connection for events.
+ *
+ * \param ser HTTP TCP/TLS Server Session
+ * \param headers HTTP headers
+ * \param args Swagger parameters
+ * \param session_id The id of the current session.
+ *
+ * \retval 0 success
+ * \retval non-zero error
+ */
+int ast_ari_websocket_events_event_websocket_attempted(struct ast_tcptls_session_instance *ser,
+       struct ast_variable *headers, struct ast_ari_events_event_websocket_args *args, const char *session_id);
+
 /*!
  * \brief WebSocket connection for events.
  *
  * \param session ARI WebSocket.
  * \param headers HTTP headers.
  * \param args Swagger parameters.
 /*!
  * \brief WebSocket connection for events.
  *
  * \param session ARI WebSocket.
  * \param headers HTTP headers.
  * \param args Swagger parameters.
+ * \param session_id The id of the current session.
  */
  */
-void ast_ari_websocket_events_event_websocket(struct ast_ari_websocket_session *session, struct ast_variable *headers, struct ast_ari_events_event_websocket_args *args);
+void ast_ari_websocket_events_event_websocket_established(struct ast_ari_websocket_session *session,
+       struct ast_variable *headers, struct ast_ari_events_event_websocket_args *args);
 /*! Argument struct for ast_ari_events_user_event() */
 struct ast_ari_events_user_event_args {
        /*! Event name */
 /*! Argument struct for ast_ari_events_user_event() */
 struct ast_ari_events_user_event_args {
        /*! Event name */
@@ -68,7 +100,7 @@ struct ast_ari_events_user_event_args {
        size_t source_count;
        /*! Parsing context for source. */
        char *source_parse;
        size_t source_count;
        /*! Parsing context for source. */
        char *source_parse;
-       /*! custom key/value pairs added to the user event */
+       /*! The "variables" key in the body object holds custom key/value pairs to add to the user event. Ex. { "variables": { "key": "value" } } */
        struct ast_json *variables;
 };
 /*!
        struct ast_json *variables;
 };
 /*!