errcode update

Signed-off-by: gongyuechen <gongyuechen@huawei.com>
This commit is contained in:
gongyuechen
2023-04-19 09:51:10 +00:00
parent 9fe7ac7bf6
commit f9cd242c11
6 changed files with 36 additions and 20 deletions
@@ -31,7 +31,8 @@ namespace OHOS {
namespace AbilityRuntime {
namespace {
constexpr int32_t ERR_OK = 0;
constexpr int32_t ERROR_CODE_URI_PERMISSION_NOT_FOUND = 16000058;
constexpr int32_t ERROR_CODE_INVALID_URI_FLAG = 16000058;
constexpr int32_t ERROR_CODE_INVALID_URI_TYPE = 16000059;
constexpr int32_t argCountFour = 4;
constexpr int32_t argCountThree = 3;
constexpr int32_t argCountTwo = 2;
@@ -103,6 +104,12 @@ private:
task.ResolveWithNoError(engine, engine.CreateUndefined());
} else if (errCode == AAFwk::CHECK_PERMISSION_FAILED) {
task.Reject(engine, CreateNoPermissionError(engine, "ohos.permission.PROXY_AUTHORIZATION_URI"));
} else if (errCode == ERROR_CODE_INVALID_URI_FLAG){
task.Reject(engine, CreateJsError(engine, ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_URI_FLAG,
"Invalid URI flag."));
} else if (errCode == ERROR_CODE_INVALID_URI_TYPE){
task.Reject(engine, CreateJsError(engine, ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_URI_TYPE,
"Only support file URI."));
} else {
task.Reject(engine, CreateJsError(engine, ERR_ABILITY_RUNTIME_EXTERNAL_INTERNAL_ERROR,
"Internal Error."));
@@ -153,9 +160,9 @@ private:
} else if (errCode == AAFwk::CHECK_PERMISSION_FAILED) {
task.Reject(engine, CreateNoPermissionError(engine,
"Do not have permission ohos.permission.PROXY_AUTHORIZATION_URI"));
} else if (errCode == ERROR_CODE_URI_PERMISSION_NOT_FOUND){
task.Reject(engine, CreateJsError(engine, ERR_ABILITY_RUNTIME_EXTERNAL_URI_PERMISSION_NOT_FOUND,
"Uri permission to revoke not found."));
} else if (errCode == ERROR_CODE_INVALID_URI_TYPE){
task.Reject(engine, CreateJsError(engine, ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_URI_TYPE,
"Only support file URI."));
} else {
task.Reject(engine, CreateJsError(engine, ERR_ABILITY_RUNTIME_EXTERNAL_INTERNAL_ERROR,
"Internal Error."));
@@ -49,7 +49,8 @@ constexpr const char* ERROR_MSG_FREE_INSTALL_TOO_BUSY =
constexpr const char* ERROR_MSG_FREE_INSTALL_TIMEOUT = "Installation-free timed out.";
constexpr const char* ERROR_MSG_FREE_INSTALL_OTHERS = "Installation-free is not allowed for other applications.";
constexpr const char* ERROR_MSG_FREE_INSTALL_CROSS_DEVICE = "Cross-device installation-free is not supported.";
constexpr const char* ERROR_MSG_URI_PERMISSION_NOT_FOUND = "Uri permission not found.";
constexpr const char* ERROR_MSG_INVALID_URI_FLAG = "Invalid URI flag.";
constexpr const char* ERROR_MSG_INVALID_URI_TYPE = "Invalid URI type, only support file Uri.";
constexpr const char* ERROR_MSG_INVALID_CALLER = "The caller has been released.";
constexpr const char* ERROR_MSG_NO_MISSION_ID = "The specified mission does not exist.";
constexpr const char* ERROR_MSG_NO_MISSION_LISTENER = "Input error. The specified mission listener does not exist.";
@@ -80,7 +81,8 @@ static std::unordered_map<AbilityErrorCode, const char*> ERR_CODE_MAP = {
{ AbilityErrorCode::ERROR_CODE_FREE_INSTALL_TIMEOUT, ERROR_MSG_FREE_INSTALL_TIMEOUT },
{ AbilityErrorCode::ERROR_CODE_FREE_INSTALL_OTHERS, ERROR_MSG_FREE_INSTALL_OTHERS },
{ AbilityErrorCode::ERROR_CODE_FREE_INSTALL_CROSS_DEVICE, ERROR_MSG_FREE_INSTALL_CROSS_DEVICE },
{ AbilityErrorCode::ERROR_CODE_URI_PERMISSION_NOT_FOUND, ERROR_MSG_URI_PERMISSION_NOT_FOUND },
{ AbilityErrorCode::ERROR_CODE_INVALID_URI_FLAG, ERROR_MSG_INVALID_URI_FLAG },
{ AbilityErrorCode::ERROR_CODE_INVALID_URI_TYPE, ERROR_MSG_INVALID_URI_TYPE },
{ AbilityErrorCode::ERROR_CODE_INVALID_CALLER, ERROR_MSG_INVALID_CALLER },
{ AbilityErrorCode::ERROR_CODE_NO_MISSION_ID, ERROR_MSG_NO_MISSION_ID },
{ AbilityErrorCode::ERROR_CODE_NO_MISSION_LISTENER, ERROR_MSG_NO_MISSION_LISTENER },
@@ -46,7 +46,8 @@ enum {
ERR_ABILITY_RUNTIME_EXTERNAL_FREE_INSTALL_TIMEOUT = 16000055,
ERR_ABILITY_RUNTIME_EXTERNAL_CANNOT_FREE_INSTALL_OTHER_ABILITY = 16000056,
ERR_ABILITY_RUNTIME_EXTERNAL_NOT_SUPPORT_CROSS_DEVICE_FREE_INSTALL = 16000057,
ERR_ABILITY_RUNTIME_EXTERNAL_URI_PERMISSION_NOT_FOUND = 16000058,
ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_URI_FLAG = 16000058,
ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_URI_TYPE = 16000058,
ERR_ABILITY_RUNTIME_EXTERNAL_EXECUTE_SHELL_COMMAND_FAILED = 16000101,
ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_WANTAGENT = 16000151,
ERR_ABILITY_RUNTIME_EXTERNAL_WANTAGENT_NOT_FOUND = 16000152,
@@ -129,8 +129,10 @@ const std::map<int32_t, std::string> ERROR_MSG_MAP = {
"The specified SystemCapability name was not found." },
{ ERR_ABILITY_RUNTIME_EXTERNAL_START_ABILITY_WAITTING,
"The previous ability is starting, wait start later." },
{ ERR_ABILITY_RUNTIME_EXTERNAL_URI_PERMISSION_NOT_FOUND,
"Uri permission to revoke not found." }
{ ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_URI_FLAG,
"Invalid URI flag." },
{ ERR_ABILITY_RUNTIME_EXTERNAL_INVALID_URI_TYPE,
"Invalid URI type, only support file uri" }
};
}
@@ -96,8 +96,11 @@ enum class AbilityErrorCode {
// Cross-device installation-free is not supported.
ERROR_CODE_FREE_INSTALL_CROSS_DEVICE = 16000057,
// Uri permission not found.
ERROR_CODE_URI_PERMISSION_NOT_FOUND = 16000058,
// Uri flag invalid.
ERROR_CODE_INVALID_URI_FLAG = 16000058,
// Uri type invalid, only support file uri currently.
ERROR_CODE_INVALID_URI_TYPE = 16000059,
// invalid caller.
ERROR_CODE_INVALID_CALLER = 16200001,
@@ -33,7 +33,8 @@ namespace OHOS {
namespace AAFwk {
const int32_t DEFAULT_USER_ID = 0;
const int32_t ERR_OK = 0;
const int32_t ERROR_CODE_URI_PERMISSION_NOT_FOUND = 16000058;
constexpr int32_t ERROR_CODE_INVALID_URI_FLAG = 16000058;
constexpr int32_t ERROR_CODE_INVALID_URI_TYPE = 16000059;
using TokenId = Security::AccessToken::AccessTokenID;
int UriPermissionManagerStubImpl::GrantUriPermission(const Uri &uri, unsigned int flag,
@@ -41,7 +42,7 @@ int UriPermissionManagerStubImpl::GrantUriPermission(const Uri &uri, unsigned in
{
if ((flag & (Want::FLAG_AUTH_READ_URI_PERMISSION | Want::FLAG_AUTH_WRITE_URI_PERMISSION)) == 0) {
HILOG_WARN("UriPermissionManagerStubImpl::GrantUriPermission: The param flag is invalid.");
return INNER_ERR;
return ERROR_CODE_INVALID_URI_FLAG;
}
Uri uri_inner = uri;
auto&& authority = uri_inner.GetAuthority();
@@ -63,7 +64,7 @@ int UriPermissionManagerStubImpl::GrantUriPermission(const Uri &uri, unsigned in
auto&& scheme = uri_inner.GetScheme();
if (scheme != "file") {
HILOG_WARN("only support file uri.");
return INNER_ERR;
return ERROR_CODE_INVALID_URI_TYPE;
}
// auto remove URI permission for clipboard
Security::AccessToken::NativeTokenInfo nativeInfo;
@@ -161,6 +162,11 @@ int UriPermissionManagerStubImpl::RevokeUriPermissionManually(const Uri &uri, co
HILOG_DEBUG("Start to remove uri permission manually.");
Uri uri_inner = uri;
auto&& authority = uri_inner.GetAuthority();
auto&& scheme = uri_inner.GetScheme();
if (scheme != "file") {
HILOG_WARN("only support file uri.");
return ERROR_CODE_INVALID_URI_TYPE;
}
Security::AccessToken::AccessTokenID uriTokenId = GetTokenIdByBundleName(authority);
Security::AccessToken::AccessTokenID tokenId = GetTokenIdByBundleName(bundleName);
auto callerTokenId = IPCSkeleton::GetCallingTokenID();
@@ -179,14 +185,12 @@ int UriPermissionManagerStubImpl::RevokeUriPermissionManually(const Uri &uri, co
auto search = uriMap_.find(uriStr);
if (search == uriMap_.end()) {
HILOG_ERROR("URI does not exist on uri map.");
return ERROR_CODE_URI_PERMISSION_NOT_FOUND;
return ERR_OK;
}
auto& list = search->second;
bool found = false;
for (auto it = list.begin(); it != list.end(); it++) {
if (it->targetTokenId == tokenId) {
HILOG_INFO("Erase an info form list.");
found = true;
auto storageMgrProxy = ConnectStorageManager();
if (storageMgrProxy == nullptr) {
HILOG_ERROR("ConnectStorageManager failed");
@@ -205,9 +209,6 @@ int UriPermissionManagerStubImpl::RevokeUriPermissionManually(const Uri &uri, co
if (list.size() == 0) {
uriMap_.erase(search);
}
if (!found) {
return ERROR_CODE_URI_PERMISSION_NOT_FOUND;
}
}
return ERR_OK;
}