#include <libxml/tree.h>
#include <account.h>
#include <account-types.h>
+#include <account_internal.h>
#include <pkgmgr-info.h>
#include <app_manager.h>
static const xmlChar _ATTRIBUTE_APP_ID[] = "appid";
static const xmlChar _ATTRIBUTE_MULTIPLE_ACCOUNTS_SUPPORT[] = "multiple-accounts-support";
+static const xmlChar _ATTRIBUTE_SERVICE_PROVIDER_ID[] = "providerid";
static const xmlChar _ATTRIBUTE_SECTION[] = "section";
static const xmlChar _ATTRIBUTE_TYPE[] = "type";
static const xmlChar _ATTRIBUTE_XML_LANG[] = "xml:lang";
retvm_if(ret != ACCOUNT_ERROR_NONE, false, "[%d] Failed to perform account_set_package_name().", ret);
// Update the account
- ret = account_update_to_db_by_id_ex(account, account_db_id);
+ ret = account_update_to_db_by_id_without_permission(account, account_db_id);
retvm_if(ret == ACCOUNT_ERROR_NOT_REGISTERED_PROVIDER, false, "[%d] The application does not register the account provider.", ret);
retvm_if(ret == ACCOUNT_ERROR_PERMISSION_DENIED, false, "[%d] The application has no permission to update this account.", ret);
retvm_if(ret == ACCOUNT_ERROR_RECORD_NOT_FOUND, false, "[%d] The account does not exist.", ret);
- retvm_if(ret != ACCOUNT_ERROR_NONE, false, "[%d] Failed to perform account_update_to_db_by_id_ex().", ret);
+ retvm_if(ret != ACCOUNT_ERROR_NONE, false, "[%d] Failed to perform account_update_to_db_by_id_without_permssion().", ret);
return true;
}
ENTER();
_D("Registering the Account Provider.");
- int ret = account_connect();
- retvm_if(ret != ACCOUNT_ERROR_NONE, ret, "[%d]A system error has occurred.", ret);
+ int ret = ACCOUNT_ERROR_NONE;
- int ret2 = 0;
+ int ret2 = ACCOUNT_ERROR_NONE;
account_type_h account_type_handle = NULL;
ret = account_type_create(&account_type_handle);
goto CATCH;
}
+ // Attribute: providerid
+ xmlChar* attribute_provider_id = xmlGetProp(cur_ptr, _ATTRIBUTE_SERVICE_PROVIDER_ID);
+ if(attribute_provider_id != NULL) {
+ ret = -1;
+ _E("Failed to get the attribute(providerid).");
+
+ _SECURE_D("Attribute: appid - %s", attribute_provider_id);
+
+ ret = account_type_set_service_provider_id(account_type_handle, (char*)attribute_provider_id);
+ if(ret != ACCOUNT_ERROR_NONE) {
+ _E("Failed to set the service provider id.");
+ }
+ }
+
// Attribute: multiple-accounts-support
xmlChar* multiple_accounts_support = xmlGetProp(cur_ptr, _ATTRIBUTE_MULTIPLE_ACCOUNTS_SUPPORT);
if(multiple_accounts_support == NULL) {
// Insert the account type to the account DB
{
int account_type_db_id = 0;
- ret = account_type_insert_to_db(account_type_handle, &account_type_db_id);
+ ret = account_type_insert_to_db_offline(account_type_handle, &account_type_db_id);
if(ret != ACCOUNT_ERROR_NONE) {
_E("[%d]Failed to perform account_type_insert_to_db().", ret);
goto CATCH;
goto CATCH;
}
- ret = account_disconnect();
- if(ret != ACCOUNT_ERROR_NONE) {
- _E("[%d]Failed to perform account_disconnect().", ret);
- goto CATCH;
- }
-
return 0;
CATCH:
ret2 = account_type_destroy(account_type_handle);
retvm_if(ret2 != ACCOUNT_ERROR_NONE, ret2, "[%d]Failed to perform account_type_destroy().", ret2);
- ret2 = account_disconnect();
- retvm_if(ret2 != ACCOUNT_ERROR_NONE, ret2, "[%d]Failed to perform account_disconnect().", ret2);
-
return ret;
}
pkgmgrinfo_appinfo_get_appid(package_info_handle, &app_id);
_D("appid : %s", app_id);
- int ret = account_connect();
- retvm_if(ret != ACCOUNT_ERROR_NONE, ret, "[%d]Failed to account_connect().", ret);
+ int ret = ACCOUNT_ERROR_NONE;
- int ret2 = 0;
+ int ret2 = ACCOUNT_ERROR_NONE;
- ret = account_delete_from_db_by_package_name((char*)app_id);
+ ret = account_delete_from_db_by_package_name_offline(app_id);
if((ret != ACCOUNT_ERROR_NONE) && (ret != ACCOUNT_ERROR_RECORD_NOT_FOUND)) {
- _E("Failed to perform account_delete_from_db_by_package_name().");
+ _E("Failed to perform account_delete_from_db_by_package_name_offline().");
goto CATCH;
}
- ret = account_type_delete_by_app_id((char*)app_id);
+ ret = account_type_delete_by_app_id_offline(app_id);
if(ret != ACCOUNT_ERROR_NONE) {
_E("Failed to perform account_type_delete_by_app_id().");
goto CATCH;
}
- ret = account_disconnect();
- retvm_if(ret != ACCOUNT_ERROR_NONE, ret, "[%d]Failed to account_disconnect().", ret);
-
return PMINFO_R_OK;
CATCH:
- ret2 = account_disconnect();
- retvm_if(ret2 != ACCOUNT_ERROR_NONE, ret, "[%d]Failed to account_disconnect().", ret2);
-
return ret;
}
pkgmgrinfo_appinfo_get_appid(handle, &app_id);
_D("appid : %s", app_id);
- int ret = account_connect();
- retvm_if(ret != ACCOUNT_ERROR_NONE, ret, "[%d]Failed to account_connect().", ret);
-
- ret = account_type_delete_by_app_id((char*)app_id);
+ int ret = account_type_delete_by_app_id_offline((char*)app_id);
if(ret == ACCOUNT_ERROR_NONE) {
_D("PKGMGR_PARSER_PLUGIN_PRE_UPGRADE: app ID - %s", app_id);
strncpy(__old_account_provider_app_id, app_id, 128);
return 0;
}
- ret = account_disconnect();
- retvm_if(ret != ACCOUNT_ERROR_NONE, ret, "[%d]Failed to account_disconnect().", ret);
-
return 0;
}
int ret = _register_account_provider(docPtr, account_provider_app_id);
retvm_if(ret != 0, ret, "[%d]Failed to register the account provider.", ret);
- ret = account_connect();
- retvm_if(ret != ACCOUNT_ERROR_NONE, ret, "[%d]Failed to perfrom account_connect().", ret);
-
int ret2 = 0;
ret = account_query_account_by_package_name(_on_account_received_cb, __old_account_provider_app_id, (void*)account_provider_app_id);
goto CATCH;
}
- ret = account_disconnect();
- retvm_if(ret != ACCOUNT_ERROR_NONE, ret, "[%d]Failed to perfrom account_disconnect().", ret);
-
return 0;
CATCH:
- ret2 = account_disconnect();
- retvm_if(ret2 != ACCOUNT_ERROR_NONE, ret2, "[%d]Failed to perfrom account_disconnect().", ret2);
-
return ret;
}