mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	cel: add publish user event helper
Add a wrapper function around ast_cel_publish_event that packs event and extras into a blob before publishing Resolves:#330
This commit is contained in:
		| @@ -195,6 +195,22 @@ void ast_cel_publish_event(struct ast_channel *chan, | ||||
| 	enum ast_cel_event_type event_type, | ||||
| 	struct ast_json *blob); | ||||
|  | ||||
| /*! | ||||
|  * \brief Publish a CEL user event | ||||
|  * \since 18 | ||||
|  * | ||||
|  * \note | ||||
|  * This serves as a wrapper function around ast_cel_publish_event() to help pack the | ||||
|  * extra details before publishing. | ||||
|  * | ||||
|  * \param chan This is the primary channel associated with this channel event. | ||||
|  * \param event This is the user event being reported. | ||||
|  * \param extra This contains any extra parameters that need to be conveyed for this event. | ||||
|  */ | ||||
| void ast_cel_publish_user_event(struct ast_channel *chan, | ||||
| 	const char *event, | ||||
| 	const char *extra); | ||||
|  | ||||
| /*! | ||||
|  * \brief Get the CEL topic | ||||
|  * | ||||
|   | ||||
							
								
								
									
										15
									
								
								main/cel.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								main/cel.c
									
									
									
									
									
								
							| @@ -1689,6 +1689,21 @@ static int reload_module(void) | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| void ast_cel_publish_user_event(struct ast_channel *chan, | ||||
| 	const char *event, | ||||
| 	const char *extra) | ||||
| { | ||||
| 	RAII_VAR(struct ast_json *, blob, NULL, ast_json_unref); | ||||
|  | ||||
| 	blob = ast_json_pack("{s: s, s: {s: s}}", | ||||
| 		"event", event, | ||||
| 		"extra", "extra", S_OR(extra, "")); | ||||
| 	if (!blob) { | ||||
| 		return; | ||||
| 	} | ||||
| 	ast_cel_publish_event(chan, AST_CEL_USER_DEFINED, blob); | ||||
| } | ||||
|  | ||||
| void ast_cel_publish_event(struct ast_channel *chan, | ||||
| 	enum ast_cel_event_type event_type, | ||||
| 	struct ast_json *blob) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user