/*! \brief Load (or reload) configuration. */ static int process_config(int reload) { RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup); switch (aco_process_config(&cfg_info, reload)) { case ACO_PROCESS_ERROR: return -1; case ACO_PROCESS_OK: case ACO_PROCESS_UNCHANGED: break; } conf = ast_ari_config_get(); if (!conf) { ast_assert(0); /* We just configured; it should be there */ return -1; } if (conf->general->enabled) { if (ao2_container_count(conf->users) == 0) { ast_log(LOG_ERROR, "No configured users for ARI\n"); } else { ao2_callback(conf->users, OBJ_NODATA, validate_user_cb, NULL); } } return 0; }
static int reload_module(void) { if (aco_process_config(¬ify_cfg, 1) == ACO_PROCESS_ERROR) { return AST_MODULE_LOAD_DECLINE; } return 0; }
static int load_module(void) { CHECK_PJSIP_MODULE_LOADED(); if (aco_info_init(¬ify_cfg)) { return AST_MODULE_LOAD_DECLINE; } aco_option_register_custom(¬ify_cfg, "^.*$", ACO_REGEX, notify_options, "", notify_option_handler, 0); if (aco_process_config(¬ify_cfg, 0)) { aco_info_destroy(¬ify_cfg); return AST_MODULE_LOAD_DECLINE; } ast_cli_register_multiple(cli_options, ARRAY_LEN(cli_options)); ast_manager_register_xml("PJSIPNotify", EVENT_FLAG_SYSTEM, manager_notify); return AST_MODULE_LOAD_SUCCESS; }