diff options
Diffstat (limited to 'apps/app_voicemail.c')
-rw-r--r-- | apps/app_voicemail.c | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 783cab69e..e5fa91605 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -12914,147 +12914,6 @@ static struct ast_cli_entry cli_voicemail[] = { AST_CLI_DEFINE(handle_voicemail_reload, "Reload voicemail configuration"), }; -#ifdef IMAP_STORAGE - #define DATA_EXPORT_VM_USERS(USER) \ - USER(ast_vm_user, context, AST_DATA_STRING) \ - USER(ast_vm_user, mailbox, AST_DATA_STRING) \ - USER(ast_vm_user, password, AST_DATA_PASSWORD) \ - USER(ast_vm_user, fullname, AST_DATA_STRING) \ - USER(ast_vm_user, email, AST_DATA_STRING) \ - USER(ast_vm_user, emailsubject, AST_DATA_STRING) \ - USER(ast_vm_user, emailbody, AST_DATA_STRING) \ - USER(ast_vm_user, pager, AST_DATA_STRING) \ - USER(ast_vm_user, serveremail, AST_DATA_STRING) \ - USER(ast_vm_user, fromstring, AST_DATA_STRING) \ - USER(ast_vm_user, language, AST_DATA_STRING) \ - USER(ast_vm_user, zonetag, AST_DATA_STRING) \ - USER(ast_vm_user, callback, AST_DATA_STRING) \ - USER(ast_vm_user, dialout, AST_DATA_STRING) \ - USER(ast_vm_user, uniqueid, AST_DATA_STRING) \ - USER(ast_vm_user, exit, AST_DATA_STRING) \ - USER(ast_vm_user, attachfmt, AST_DATA_STRING) \ - USER(ast_vm_user, flags, AST_DATA_UNSIGNED_INTEGER) \ - USER(ast_vm_user, saydurationm, AST_DATA_INTEGER) \ - USER(ast_vm_user, maxmsg, AST_DATA_INTEGER) \ - USER(ast_vm_user, maxdeletedmsg, AST_DATA_INTEGER) \ - USER(ast_vm_user, maxsecs, AST_DATA_INTEGER) \ - USER(ast_vm_user, imapuser, AST_DATA_STRING) \ - USER(ast_vm_user, imappassword, AST_DATA_STRING) \ - USER(ast_vm_user, imapvmshareid, AST_DATA_STRING) \ - USER(ast_vm_user, volgain, AST_DATA_DOUBLE) -#else - #define DATA_EXPORT_VM_USERS(USER) \ - USER(ast_vm_user, context, AST_DATA_STRING) \ - USER(ast_vm_user, mailbox, AST_DATA_STRING) \ - USER(ast_vm_user, password, AST_DATA_PASSWORD) \ - USER(ast_vm_user, fullname, AST_DATA_STRING) \ - USER(ast_vm_user, email, AST_DATA_STRING) \ - USER(ast_vm_user, emailsubject, AST_DATA_STRING) \ - USER(ast_vm_user, emailbody, AST_DATA_STRING) \ - USER(ast_vm_user, pager, AST_DATA_STRING) \ - USER(ast_vm_user, serveremail, AST_DATA_STRING) \ - USER(ast_vm_user, fromstring, AST_DATA_STRING) \ - USER(ast_vm_user, language, AST_DATA_STRING) \ - USER(ast_vm_user, zonetag, AST_DATA_STRING) \ - USER(ast_vm_user, callback, AST_DATA_STRING) \ - USER(ast_vm_user, dialout, AST_DATA_STRING) \ - USER(ast_vm_user, uniqueid, AST_DATA_STRING) \ - USER(ast_vm_user, exit, AST_DATA_STRING) \ - USER(ast_vm_user, attachfmt, AST_DATA_STRING) \ - USER(ast_vm_user, flags, AST_DATA_UNSIGNED_INTEGER) \ - USER(ast_vm_user, saydurationm, AST_DATA_INTEGER) \ - USER(ast_vm_user, maxmsg, AST_DATA_INTEGER) \ - USER(ast_vm_user, maxdeletedmsg, AST_DATA_INTEGER) \ - USER(ast_vm_user, maxsecs, AST_DATA_INTEGER) \ - USER(ast_vm_user, volgain, AST_DATA_DOUBLE) -#endif - -AST_DATA_STRUCTURE(ast_vm_user, DATA_EXPORT_VM_USERS); - -#define DATA_EXPORT_VM_ZONES(ZONE) \ - ZONE(vm_zone, name, AST_DATA_STRING) \ - ZONE(vm_zone, timezone, AST_DATA_STRING) \ - ZONE(vm_zone, msg_format, AST_DATA_STRING) - -AST_DATA_STRUCTURE(vm_zone, DATA_EXPORT_VM_ZONES); - -/*! - * \internal - * \brief Add voicemail user to the data_root. - * \param[in] search The search tree. - * \param[in] data_root The main result node. - * \param[in] user The voicemail user. - */ -static int vm_users_data_provider_get_helper(const struct ast_data_search *search, - struct ast_data *data_root, struct ast_vm_user *user) -{ - struct ast_data *data_user, *data_zone; - struct ast_data *data_state; - struct vm_zone *zone = NULL; - int urgentmsg = 0, newmsg = 0, oldmsg = 0; - char ext_context[256] = ""; - - data_user = ast_data_add_node(data_root, "user"); - if (!data_user) { - return -1; - } - - ast_data_add_structure(ast_vm_user, data_user, user); - - AST_LIST_LOCK(&zones); - AST_LIST_TRAVERSE(&zones, zone, list) { - if (!strcmp(zone->name, user->zonetag)) { - break; - } - } - AST_LIST_UNLOCK(&zones); - - /* state */ - data_state = ast_data_add_node(data_user, "state"); - if (!data_state) { - return -1; - } - snprintf(ext_context, sizeof(ext_context), "%s@%s", user->mailbox, user->context); - inboxcount2(ext_context, &urgentmsg, &newmsg, &oldmsg); - ast_data_add_int(data_state, "urgentmsg", urgentmsg); - ast_data_add_int(data_state, "newmsg", newmsg); - ast_data_add_int(data_state, "oldmsg", oldmsg); - - if (zone) { - data_zone = ast_data_add_node(data_user, "zone"); - ast_data_add_structure(vm_zone, data_zone, zone); - } - - if (!ast_data_search_match(search, data_user)) { - ast_data_remove_node(data_root, data_user); - } - - return 0; -} - -static int vm_users_data_provider_get(const struct ast_data_search *search, - struct ast_data *data_root) -{ - struct ast_vm_user *user; - - AST_LIST_LOCK(&users); - AST_LIST_TRAVERSE(&users, user, list) { - vm_users_data_provider_get_helper(search, data_root, user); - } - AST_LIST_UNLOCK(&users); - - return 0; -} - -static const struct ast_data_handler vm_users_data_provider = { - .version = AST_DATA_HANDLER_VERSION, - .get = vm_users_data_provider_get -}; - -static const struct ast_data_entry vm_data_providers[] = { - AST_DATA_ENTRY("asterisk/application/voicemail/list", &vm_users_data_provider) -}; - static void poll_subscribed_mailbox(struct mwi_sub *mwi_sub) { int new = 0, old = 0, urgent = 0; @@ -14997,7 +14856,6 @@ static int unload_module(void) res |= ast_custom_function_unregister(&vm_info_acf); res |= ast_manager_unregister("VoicemailUsersList"); res |= ast_manager_unregister("VoicemailRefresh"); - res |= ast_data_unregister(NULL); #ifdef TEST_FRAMEWORK res |= AST_TEST_UNREGISTER(test_voicemail_vmsayname); res |= AST_TEST_UNREGISTER(test_voicemail_msgcount); @@ -15107,7 +14965,6 @@ static int load_module(void) } ast_cli_register_multiple(cli_voicemail, ARRAY_LEN(cli_voicemail)); - ast_data_register_multiple(vm_data_providers, ARRAY_LEN(vm_data_providers)); #ifdef TEST_FRAMEWORK ast_install_vm_test_functions(vm_test_create_user, vm_test_destroy_user); |