mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	Merge "ARI: Added new functionality to get information on a single module."
This commit is contained in:
		| @@ -1445,6 +1445,34 @@ int ast_update_module_list_data(int (*modentry)(const char *module, const char * | ||||
| 	return total_mod_loaded; | ||||
| } | ||||
|  | ||||
| int ast_update_module_list_condition(int (*modentry)(const char *module, const char *description, | ||||
|                                                      int usecnt, const char *status, | ||||
|                                                      const char *like, | ||||
|                                                      enum ast_module_support_level support_level, | ||||
|                                                      void *data, const char *condition), | ||||
|                                      const char *like, void *data, const char *condition) | ||||
| { | ||||
| 	struct ast_module *cur; | ||||
| 	int conditions_met = 0; | ||||
| 	AST_LIST_HEAD_NOLOCK(, ast_module) alpha_module_list = AST_LIST_HEAD_NOLOCK_INIT_VALUE; | ||||
|  | ||||
| 	AST_DLLIST_LOCK(&module_list); | ||||
|  | ||||
| 	AST_DLLIST_TRAVERSE(&module_list, cur, entry) { | ||||
| 		AST_LIST_INSERT_SORTALPHA(&alpha_module_list, cur, list_entry, resource); | ||||
| 	} | ||||
|  | ||||
| 	while ((cur = AST_LIST_REMOVE_HEAD(&alpha_module_list, list_entry))) { | ||||
| 		conditions_met += modentry(cur->resource, cur->info->description, cur->usecount, | ||||
| 		        cur->flags.running? "Running" : "Not Running", like, cur->info->support_level, data, | ||||
| 		        condition); | ||||
| 	} | ||||
|  | ||||
| 	AST_DLLIST_UNLOCK(&module_list); | ||||
|  | ||||
| 	return conditions_met; | ||||
| } | ||||
|  | ||||
| /*! \brief Check if module exists */ | ||||
| int ast_module_check(const char *name) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user