mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 18:55:19 +00:00 
			
		
		
		
	Merge "res_ari: Add "module loaded" check to ari stubs"
This commit is contained in:
		| @@ -268,4 +268,14 @@ void ast_ari_response_created(struct ast_ari_response *response, | |||||||
|  */ |  */ | ||||||
| void ast_ari_response_alloc_failed(struct ast_ari_response *response); | void ast_ari_response_alloc_failed(struct ast_ari_response *response); | ||||||
|  |  | ||||||
|  | /*! \brief Determines whether the res_ari module is loaded */ | ||||||
|  | #define CHECK_ARI_MODULE_LOADED()				\ | ||||||
|  | 	do {							\ | ||||||
|  | 		if (!ast_module_check("res_ari.so")		\ | ||||||
|  | 			|| !ast_ari_oom_json()) {	\ | ||||||
|  | 			return AST_MODULE_LOAD_DECLINE;		\ | ||||||
|  | 		}						\ | ||||||
|  | 	} while(0) | ||||||
|  |  | ||||||
|  |  | ||||||
| #endif /* _ASTERISK_ARI_H */ | #endif /* _ASTERISK_ARI_H */ | ||||||
|   | |||||||
| @@ -500,6 +500,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&applications); | 	res |= ast_ari_add_handler(&applications); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -1221,6 +1221,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&asterisk); | 	res |= ast_ari_add_handler(&asterisk); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -1547,6 +1547,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&bridges); | 	res |= ast_ari_add_handler(&bridges); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -2851,6 +2851,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&channels); | 	res |= ast_ari_add_handler(&channels); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -331,6 +331,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&deviceStates); | 	res |= ast_ari_add_handler(&deviceStates); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -455,6 +455,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&endpoints); | 	res |= ast_ari_add_handler(&endpoints); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -430,6 +430,11 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  | 	/* This is scoped to not conflict with CHECK_ARI_MODULE_LOADED */ | ||||||
|  | 	{ | ||||||
| 		struct ast_websocket_protocol *protocol; | 		struct ast_websocket_protocol *protocol; | ||||||
|  |  | ||||||
| 		if (ast_ari_websocket_events_event_websocket_init() == -1) { | 		if (ast_ari_websocket_events_event_websocket_init() == -1) { | ||||||
| @@ -452,6 +457,8 @@ static int load_module(void) | |||||||
| 		protocol->session_attempted = ast_ari_events_event_websocket_ws_attempted_cb; | 		protocol->session_attempted = ast_ari_events_event_websocket_ws_attempted_cb; | ||||||
| 		protocol->session_established = ast_ari_events_event_websocket_ws_established_cb; | 		protocol->session_established = ast_ari_events_event_websocket_ws_established_cb; | ||||||
| 		res |= ast_websocket_server_add_protocol2(events.ws_server, protocol); | 		res |= ast_websocket_server_add_protocol2(events.ws_server, protocol); | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&events); | 	res |= ast_ari_add_handler(&events); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -337,6 +337,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&mailboxes); | 	res |= ast_ari_add_handler(&mailboxes); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -289,6 +289,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&playbacks); | 	res |= ast_ari_add_handler(&playbacks); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -873,6 +873,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&recordings); | 	res |= ast_ari_add_handler(&recordings); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -219,6 +219,10 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&sounds); | 	res |= ast_ari_add_handler(&sounds); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
| @@ -273,9 +273,14 @@ static int unload_module(void) | |||||||
| static int load_module(void) | static int load_module(void) | ||||||
| { | { | ||||||
| 	int res = 0; | 	int res = 0; | ||||||
|  |  | ||||||
|  | 	CHECK_ARI_MODULE_LOADED(); | ||||||
|  |  | ||||||
| {{#apis}} | {{#apis}} | ||||||
| {{#operations}} | {{#operations}} | ||||||
| {{#has_websocket}} | {{#has_websocket}} | ||||||
|  | 	/* This is scoped to not conflict with CHECK_ARI_MODULE_LOADED */ | ||||||
|  | 	{ | ||||||
| 		struct ast_websocket_protocol *protocol; | 		struct ast_websocket_protocol *protocol; | ||||||
|  |  | ||||||
| 		if (ast_ari_websocket_{{c_name}}_{{c_nickname}}_init() == -1) { | 		if (ast_ari_websocket_{{c_name}}_{{c_nickname}}_init() == -1) { | ||||||
| @@ -300,9 +305,11 @@ static int load_module(void) | |||||||
| {{/has_websocket}} | {{/has_websocket}} | ||||||
| {{#is_websocket}} | {{#is_websocket}} | ||||||
| 		res |= ast_websocket_server_add_protocol2({{full_name}}.ws_server, protocol); | 		res |= ast_websocket_server_add_protocol2({{full_name}}.ws_server, protocol); | ||||||
|  | 	} | ||||||
| {{/is_websocket}} | {{/is_websocket}} | ||||||
| {{/operations}} | {{/operations}} | ||||||
| {{/apis}} | {{/apis}} | ||||||
|  |  | ||||||
| 	stasis_app_ref(); | 	stasis_app_ref(); | ||||||
| 	res |= ast_ari_add_handler(&{{root_full_name}}); | 	res |= ast_ari_add_handler(&{{root_full_name}}); | ||||||
| 	if (res) { | 	if (res) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user