diff --git a/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp b/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp index d8e23aca79f1cb405e63ac934df313bc526786d5..b2795ee47a6058f981e293cc6aa3114cfad704d4 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp @@ -34,7 +34,8 @@ int FileAccessExtProxy::OpenFile(const Uri &uri, const int flags, int &fd) return E_IPCS; } - if (!data.WriteParcelable(&uri)) { + std::string insideInputUri = uri.ToString(); + if (!data.WriteString(insideInputUri)) { HILOG_ERROR("fail to WriteParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -89,7 +90,8 @@ int FileAccessExtProxy::CreateFile(const Uri &parent, const std::string &display return E_IPCS; } - if (!data.WriteParcelable(&parent)) { + std::string insideInputUri = parent.ToString(); + if (!data.WriteString(insideInputUri)) { HILOG_ERROR("fail to WriteParcelable parent"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -123,19 +125,19 @@ int FileAccessExtProxy::CreateFile(const Uri &parent, const std::string &display return ret; } - std::unique_ptr tempUri(reply.ReadParcelable()); - if (tempUri == nullptr) { + std::string tempUri; + if (!reply.ReadString(tempUri)) { HILOG_ERROR("ReadParcelable value is nullptr."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - newFile = Uri(*tempUri); - if (newFile.ToString().empty()) { + if (tempUri.empty()) { HILOG_ERROR("get uri is empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_GETRESULT; } + newFile = Uri(tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_OK; @@ -151,7 +153,8 @@ int FileAccessExtProxy::Mkdir(const Uri &parent, const std::string &displayName, return E_IPCS; } - if (!data.WriteParcelable(&parent)) { + std::string insideInputUri = parent.ToString(); + if (!data.WriteString(insideInputUri)) { HILOG_ERROR("fail to WriteParcelable parent"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -185,19 +188,19 @@ int FileAccessExtProxy::Mkdir(const Uri &parent, const std::string &displayName, return ret; } - std::unique_ptr tempUri(reply.ReadParcelable()); - if (tempUri == nullptr) { + std::string tempUri; + if (!reply.ReadString(tempUri)) { HILOG_ERROR("ReadParcelable value is nullptr."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - newFile = Uri(*tempUri); - if (newFile.ToString().empty()) { + if (tempUri.empty()) { HILOG_ERROR("get uri is empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_GETRESULT; } + newFile = Uri(tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_OK; @@ -213,7 +216,8 @@ int FileAccessExtProxy::Delete(const Uri &sourceFile) return E_IPCS; } - if (!data.WriteParcelable(&sourceFile)) { + std::string insideInputUri = sourceFile.ToString(); + if (!data.WriteString(insideInputUri)) { HILOG_ERROR("fail to WriteParcelable sourceFile"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -255,13 +259,15 @@ int FileAccessExtProxy::Move(const Uri &sourceFile, const Uri &targetParent, Uri return E_IPCS; } - if (!data.WriteParcelable(&sourceFile)) { + std::string insideInputSourceUri = sourceFile.ToString(); + if (!data.WriteString(insideInputSourceUri)) { HILOG_ERROR("fail to WriteParcelable sourceFile"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - if (!data.WriteParcelable(&targetParent)) { + std::string insideInputTargetUri = targetParent.ToString(); + if (!data.WriteString(insideInputTargetUri)) { HILOG_ERROR("fail to WriteParcelable targetParent"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -289,19 +295,19 @@ int FileAccessExtProxy::Move(const Uri &sourceFile, const Uri &targetParent, Uri return ret; } - std::unique_ptr tempUri(reply.ReadParcelable()); - if (tempUri == nullptr) { + std::string tempUri; + if (!reply.ReadString(tempUri)) { HILOG_ERROR("ReadParcelable value is nullptr."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - newFile = Uri(*tempUri); - if (newFile.ToString().empty()) { + if (tempUri.empty()) { HILOG_ERROR("get uri is empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_GETRESULT; } + newFile = Uri(tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_OK; @@ -317,7 +323,8 @@ int FileAccessExtProxy::Rename(const Uri &sourceFile, const std::string &display return E_IPCS; } - if (!data.WriteParcelable(&sourceFile)) { + std::string insideInputSourceUri = sourceFile.ToString(); + if (!data.WriteString(insideInputSourceUri)) { HILOG_ERROR("fail to WriteParcelable sourceFile"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -351,19 +358,19 @@ int FileAccessExtProxy::Rename(const Uri &sourceFile, const std::string &display return ret; } - std::unique_ptr tempUri(reply.ReadParcelable()); - if (tempUri == nullptr) { + std::string tempUri; + if (!reply.ReadString(tempUri)) { HILOG_ERROR("ReadParcelable value is nullptr."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - newFile = Uri(*tempUri); - if (newFile.ToString().empty()) { + if (tempUri.empty()) { HILOG_ERROR("get uri is empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_GETRESULT; } + newFile = Uri(tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_OK; @@ -569,7 +576,8 @@ int FileAccessExtProxy::UriToFileInfo(const Uri &selectFile, FileInfo &fileInfo) return E_IPCS; } - if (!data.WriteParcelable(&selectFile)) { + std::string insideInputUri = selectFile.ToString(); + if (!data.WriteString(insideInputUri)) { HILOG_ERROR("fail to WriteParcelable selectFile"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -619,7 +627,8 @@ int FileAccessExtProxy::Access(const Uri &uri, bool &isExist) return E_IPCS; } - if (!data.WriteParcelable(&uri)) { + std::string insideInputUri = uri.ToString(); + if (!data.WriteString(insideInputUri)) { HILOG_ERROR("fail to WriteParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; diff --git a/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp b/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp index 8a84f330b4b39f4f65823f547874345b2130e4a8..66204466ec519d4ad879cf7f95c8380dc2d8b842 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp @@ -91,13 +91,19 @@ int FileAccessExtStub::OnRemoteRequest(uint32_t code, MessageParcel& data, Messa ErrCode FileAccessExtStub::CmdOpenFile(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdOpenFile"); - std::shared_ptr uri(data.ReadParcelable()); - if (uri == nullptr) { + std::string insideInputUri; + if (!data.ReadString(insideInputUri)) { HILOG_ERROR("Parameter OpenFile fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } + if (insideInputUri.empty()) { + HILOG_ERROR("Parameter OpenFile insideInputUri is empty"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return EINVAL; + } + int flags = E_IPCS; if (!data.ReadInt32(flags)) { HILOG_ERROR("Parameter OpenFile fail to ReadInt32 flags"); @@ -112,7 +118,8 @@ ErrCode FileAccessExtStub::CmdOpenFile(MessageParcel &data, MessageParcel &reply } int fd = -1; - int ret = OpenFile(*uri, flags, fd); + Uri uri(insideInputUri); + int ret = OpenFile(uri, flags, fd); UniqueFd uniqueFd(fd); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter OpenFile fail to WriteInt32 ret"); @@ -133,13 +140,19 @@ ErrCode FileAccessExtStub::CmdOpenFile(MessageParcel &data, MessageParcel &reply ErrCode FileAccessExtStub::CmdCreateFile(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdCreateFile"); - std::shared_ptr parent(data.ReadParcelable()); - if (parent == nullptr) { - HILOG_ERROR("Parameter CreateFile fail to ReadParcelable parent"); + std::string insideInputUri; + if (!data.ReadString(insideInputUri)) { + HILOG_ERROR("Parameter CreateFile fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } + if (insideInputUri.empty()) { + HILOG_ERROR("Parameter CreateFile insideInputUri is empty"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return EINVAL; + } + std::string displayName = ""; if (!data.ReadString(displayName)) { HILOG_ERROR("Parameter CreateFile fail to ReadString displayName"); @@ -155,14 +168,16 @@ ErrCode FileAccessExtStub::CmdCreateFile(MessageParcel &data, MessageParcel &rep std::string newFile = ""; OHOS::Uri newFileUri(newFile); - int ret = CreateFile(*parent, displayName, newFileUri); + Uri uri(insideInputUri); + int ret = CreateFile(uri, displayName, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter CreateFile fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - if (!reply.WriteParcelable(&newFileUri)) { + std::string insideOutputUri = newFileUri.ToString(); + if (!reply.WriteString(insideOutputUri)) { HILOG_ERROR("Parameter CreateFile fail to WriteParcelable newFileUri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -175,13 +190,19 @@ ErrCode FileAccessExtStub::CmdCreateFile(MessageParcel &data, MessageParcel &rep ErrCode FileAccessExtStub::CmdMkdir(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdMkdir"); - std::shared_ptr parent(data.ReadParcelable()); - if (parent == nullptr) { - HILOG_ERROR("Parameter Mkdir fail to ReadParcelable parent"); + std::string insideInputUri; + if (!data.ReadString(insideInputUri)) { + HILOG_ERROR("Parameter Mkdir fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } + if (insideInputUri.empty()) { + HILOG_ERROR("Parameter Mkdir insideInputUri is empty"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return EINVAL; + } + std::string displayName = ""; if (!data.ReadString(displayName)) { HILOG_ERROR("Parameter Mkdir fail to ReadString displayName"); @@ -197,14 +218,16 @@ ErrCode FileAccessExtStub::CmdMkdir(MessageParcel &data, MessageParcel &reply) std::string newFile = ""; OHOS::Uri newFileUri(newFile); - int ret = Mkdir(*parent, displayName, newFileUri); + Uri uri(insideInputUri); + int ret = Mkdir(uri, displayName, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter Mkdir fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - if (!reply.WriteParcelable(&newFileUri)) { + std::string insideOutputUri = newFileUri.ToString(); + if (!reply.WriteString(insideOutputUri)) { HILOG_ERROR("Parameter Mkdir fail to WriteParcelable newFileUri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -217,14 +240,21 @@ ErrCode FileAccessExtStub::CmdMkdir(MessageParcel &data, MessageParcel &reply) ErrCode FileAccessExtStub::CmdDelete(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdDelete"); - std::shared_ptr uri(data.ReadParcelable()); - if (uri == nullptr) { + std::string insideInputUri; + if (!data.ReadString(insideInputUri)) { HILOG_ERROR("Parameter Delete fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - int ret = Delete(*uri); + if (insideInputUri.empty()) { + HILOG_ERROR("Parameter Delete insideInputUri is empty"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return EINVAL; + } + + Uri uri(insideInputUri); + int ret = Delete(uri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter Delete fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -238,30 +268,33 @@ ErrCode FileAccessExtStub::CmdDelete(MessageParcel &data, MessageParcel &reply) ErrCode FileAccessExtStub::CmdMove(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdMove"); - std::shared_ptr sourceFile(data.ReadParcelable()); - if (sourceFile == nullptr) { - HILOG_ERROR("Parameter Move fail to ReadParcelable sourceFile"); + std::string sourceFile; + if (!data.ReadString(sourceFile)) { + HILOG_ERROR("Parameter Move fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - std::shared_ptr targetParent(data.ReadParcelable()); - if (targetParent == nullptr) { - HILOG_ERROR("Parameter Move fail to ReadParcelable targetParent"); + std::string targetParent; + if (!data.ReadString(targetParent)) { + HILOG_ERROR("Parameter Move fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } std::string newFile = ""; OHOS::Uri newFileUri(newFile); - int ret = Move(*sourceFile, *targetParent, newFileUri); + Uri source(sourceFile); + Uri target(targetParent); + int ret = Move(source, target, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter Move fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - if (!reply.WriteParcelable(&newFileUri)) { + std::string insideOutputUri = newFileUri.ToString(); + if (!reply.WriteString(insideOutputUri)) { HILOG_ERROR("Parameter Move fail to WriteParcelable newFileUri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -274,9 +307,9 @@ ErrCode FileAccessExtStub::CmdMove(MessageParcel &data, MessageParcel &reply) ErrCode FileAccessExtStub::CmdRename(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdRename"); - std::shared_ptr sourceFile(data.ReadParcelable()); - if (sourceFile == nullptr) { - HILOG_ERROR("Parameter Rename fail to ReadParcelable sourceFile"); + std::string sourceFile; + if (!data.ReadString(sourceFile)) { + HILOG_ERROR("Parameter Rename fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } @@ -296,14 +329,16 @@ ErrCode FileAccessExtStub::CmdRename(MessageParcel &data, MessageParcel &reply) std::string newFile = ""; OHOS::Uri newFileUri(newFile); - int ret = Rename(*sourceFile, displayName, newFileUri); + Uri source(sourceFile); + int ret = Rename(source, displayName, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter Rename fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; } - if (!reply.WriteParcelable(&newFileUri)) { + std::string insideOutputUri = newFileUri.ToString(); + if (!reply.WriteString(insideOutputUri)) { HILOG_ERROR("Parameter Rename fail to WriteParcelable newFileUri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return E_IPCS; @@ -463,15 +498,16 @@ ErrCode FileAccessExtStub::CmdGetRoots(MessageParcel &data, MessageParcel &reply ErrCode FileAccessExtStub::CmdUriToFileInfo(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdUriToFileInfo"); - std::shared_ptr uri(data.ReadParcelable()); - if (uri == nullptr) { - HILOG_ERROR("SelectFile uri is nullptr"); + std::string uri; + if (!data.ReadString(uri)) { + HILOG_ERROR("Parameter UriToFileInfo fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return E_URIS; + return E_IPCS; } FileInfo fileInfoTemp; - int ret = UriToFileInfo(*uri, fileInfoTemp); + Uri sourceUri(uri); + int ret = UriToFileInfo(sourceUri, fileInfoTemp); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter UriToFileInfo fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -491,15 +527,16 @@ ErrCode FileAccessExtStub::CmdUriToFileInfo(MessageParcel &data, MessageParcel & ErrCode FileAccessExtStub::CmdAccess(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdAccess"); - std::shared_ptr uri(data.ReadParcelable()); - if (uri == nullptr) { - HILOG_ERROR("Access uri is nullptr"); + std::string uri; + if (!data.ReadString(uri)) { + HILOG_ERROR("Parameter Access fail to ReadParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return E_URIS; + return E_IPCS; } bool isExist = false; - int ret = Access(*uri, isExist); + Uri sourceUri(uri); + int ret = Access(sourceUri, isExist); if (!reply.WriteInt32(ret)) { HILOG_ERROR("Parameter Access fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT);