diff --git a/frameworks/innerkits/file_access/include/file_access_ext_ability.h b/frameworks/innerkits/file_access/include/file_access_ext_ability.h index ffc0b19dcfde2d51daf8109641b1509aaa8d9ccf..906ea50c6f416488153f295d82f5ae98c6ed3d91 100644 --- a/frameworks/innerkits/file_access/include/file_access_ext_ability.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_ability.h @@ -40,15 +40,15 @@ public: static FileAccessExtAbility* Create(const std::unique_ptr& runtime); - virtual int OpenFile(const Uri &uri, const int flags); + virtual int OpenFile(const Uri &uri, const int flags, int &fd); virtual int CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile); virtual int Mkdir(const Uri &parent, const std::string &displayName, Uri &newFile); virtual int Delete(const Uri &sourceFile); virtual int Move(const Uri &sourceFile, const Uri &targetParent, Uri &newFile); virtual int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile); - virtual std::vector ListFile(const Uri &sourceFile); - virtual std::vector GetRoots(); + virtual int ListFile(const Uri &sourceFile, std::vector &fileInfo); + virtual int GetRoots(std::vector &deviceInfo); virtual int IsFileExist(const Uri &uri, bool &isExist); virtual int RegisterNotify(sptr ¬ify); virtual int UnregisterNotify(sptr ¬ify); diff --git a/frameworks/innerkits/file_access/include/file_access_ext_proxy.h b/frameworks/innerkits/file_access/include/file_access_ext_proxy.h index ff4e0872773e9f0b1ed44fa934051c29a7054388..a388ae94b3144fdb97df133a5636df81490be155 100644 --- a/frameworks/innerkits/file_access/include/file_access_ext_proxy.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_proxy.h @@ -36,15 +36,15 @@ public: virtual ~FileAccessExtProxy() {} - virtual int OpenFile(const Uri &uri, const int flags) override; - virtual int CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) override; + virtual int OpenFile(const Uri &uri, const int flags, int &fd) override; + virtual int CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) override; virtual int Mkdir(const Uri &parent, const std::string &displayName, Uri &newFile) override; virtual int Delete(const Uri &sourceFile) override; virtual int Move(const Uri &sourceFile, const Uri &targetParent, Uri &newFile) override; virtual int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) override; - virtual std::vector ListFile(const Uri &sourceFile) override; - virtual std::vector GetRoots() override; + virtual int ListFile(const Uri &sourceFile, std::vector &fileInfo) override; + virtual int GetRoots(std::vector &deviceInfo) override; virtual int IsFileExist(const Uri &uri, bool &isExist) override; virtual int RegisterNotify(sptr ¬ify) override; virtual int UnregisterNotify(sptr ¬ify) override; diff --git a/frameworks/innerkits/file_access/include/file_access_ext_stub_impl.h b/frameworks/innerkits/file_access/include/file_access_ext_stub_impl.h index d72745dd30eea65f13052bb68d59b0f6e2427700..a89cd28d6ee5c0dcf941114fc8c782e274ec1957 100644 --- a/frameworks/innerkits/file_access/include/file_access_ext_stub_impl.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_stub_impl.h @@ -34,14 +34,14 @@ public: virtual ~FileAccessExtStubImpl() {} - int OpenFile(const Uri &uri, const int flags) override; + int OpenFile(const Uri &uri, const int flags, int &fd) override; int CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) override; int Mkdir(const Uri &parent, const std::string &displayName, Uri &newFile) override; int Delete(const Uri &sourceFile) override; int Move(const Uri &sourceFile, const Uri &targetParent, Uri &newFile) override; int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) override; - std::vector ListFile(const Uri &sourceFileUri) override; - std::vector GetRoots() override; + int ListFile(const Uri &sourceFileUri, std::vector &fileInfo) override; + int GetRoots(std::vector &deviceInfo) override; int IsFileExist(const Uri &uri, bool &isExist) override; int RegisterNotify(sptr ¬ify) override; int UnregisterNotify(sptr ¬ify) override; diff --git a/frameworks/innerkits/file_access/include/file_access_helper.h b/frameworks/innerkits/file_access/include/file_access_helper.h index 436ea33345714e1e457524e0d1f0bd0f062629f9..0592047fd12f421722964475d35b62613f7e545f 100644 --- a/frameworks/innerkits/file_access/include/file_access_helper.h +++ b/frameworks/innerkits/file_access/include/file_access_helper.h @@ -59,14 +59,14 @@ public: bool Release(); int IsFileExist(Uri &uri, bool &isExist); - int OpenFile(Uri &uri, int flags); + int OpenFile(Uri &uri, const int flags, int &fd); int CreateFile(Uri &parent, const std::string &displayName, Uri &newFile); int Mkdir(Uri &parent, const std::string &displayName, Uri &newDir); int Delete(Uri &selectFile); int Move(Uri &sourceFile, Uri &targetParent, Uri &newFile); int Rename(Uri &sourceFile, const std::string &displayName, Uri &newFile); - std::vector ListFile(Uri &sourceFile); - std::vector GetRoots(); + int ListFile(Uri &sourceFile, std::vector &fileInfo); + int GetRoots(std::vector &deviceInfo); int On(std::shared_ptr &callback); int Off(); private: diff --git a/frameworks/innerkits/file_access/include/ifile_access_ext_base.h b/frameworks/innerkits/file_access/include/ifile_access_ext_base.h index 63ab8bfd778b3b407d03ecc51e7bbb2fffdb8d41..2e635323d8de1ff7cac341877249ccca2117447e 100644 --- a/frameworks/innerkits/file_access/include/ifile_access_ext_base.h +++ b/frameworks/innerkits/file_access/include/ifile_access_ext_base.h @@ -46,15 +46,15 @@ public: CMD_UNREGISTER_NOTIFY }; - virtual int OpenFile(const Uri &uri, const int flags) = 0; + virtual int OpenFile(const Uri &uri, const int flags, int &fd) = 0; virtual int CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) = 0; virtual int Mkdir(const Uri &parent, const std::string &displayName, Uri &newFile) = 0; virtual int Delete(const Uri &sourceFile) = 0; virtual int Move(const Uri &sourceFile, const Uri &targetParent, Uri &newFile) = 0; virtual int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) = 0; - virtual std::vector ListFile(const Uri &sourceFile) = 0; - virtual std::vector GetRoots() = 0; + virtual int ListFile(const Uri &sourceFile, std::vector &fileInfo) = 0; + virtual int GetRoots(std::vector &deviceInfo) = 0; virtual int IsFileExist(const Uri &uri, bool &isExist) = 0; virtual int RegisterNotify(sptr ¬ify) = 0; virtual int UnregisterNotify(sptr ¬ify) = 0; diff --git a/frameworks/innerkits/file_access/include/js_file_access_ext_ability.h b/frameworks/innerkits/file_access/include/js_file_access_ext_ability.h index 66d4a8f27976fa1f008d04a2fb808dad4907553e..87ecc81c88dedb439d0631cd685e1231ddcff70c 100644 --- a/frameworks/innerkits/file_access/include/js_file_access_ext_ability.h +++ b/frameworks/innerkits/file_access/include/js_file_access_ext_ability.h @@ -60,14 +60,14 @@ public: const sptr &token) override; void OnStart(const AAFwk::Want &want) override; sptr OnConnect(const AAFwk::Want &want) override; - int OpenFile(const Uri &uri, const int flags) override; + int OpenFile(const Uri &uri, const int flags, int &fd) override; int CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) override; int Mkdir(const Uri &parent, const std::string &displayName, Uri &newFile) override; int Delete(const Uri &sourceFile) override; int Move(const Uri &sourceFile, const Uri &targetParent, Uri &newFile) override; int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) override; - std::vector ListFile(const Uri &sourceFile) override; - std::vector GetRoots() override; + int ListFile(const Uri &sourceFile, std::vector &fileInfo) override; + int GetRoots(std::vector &deviceInfo) override; int IsFileExist(const Uri &uri, bool &isExist) override; private: diff --git a/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp index 638d2efcba16da873f16229db66e0484e022f6c8..0d66a5ded88da7c1f50395e6e80d268a79a9d050 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp @@ -61,7 +61,7 @@ void FileAccessExtAbility::Init(const std::shared_ptr &recor ExtensionBase<>::Init(record, application, handler, token); } -int FileAccessExtAbility::OpenFile(const Uri &uri, const int flags) +int FileAccessExtAbility::OpenFile(const Uri &uri, const int flags, int &fd) { HILOG_ERROR("FileAccessExtAbility::OpenFile Undefined operation"); return ERR_OPERATION_NOT_SUPPORT; @@ -97,18 +97,16 @@ int FileAccessExtAbility::Rename(const Uri &sourceFile, const std::string &displ return ERR_OPERATION_NOT_SUPPORT; } -std::vector FileAccessExtAbility::ListFile(const Uri &sourceFile) +int FileAccessExtAbility::ListFile(const Uri &sourceFile, std::vector &fileInfo) { - std::vector vec; HILOG_ERROR("FileAccessExtAbility::ListFile Undefined operation"); - return vec; + return ERR_OPERATION_NOT_SUPPORT; } -std::vector FileAccessExtAbility::GetRoots() +int FileAccessExtAbility::GetRoots(std::vector &deviceInfo) { - std::vector vec; HILOG_ERROR("FileAccessExtAbility::GetRoots Undefined operation"); - return vec; + return ERR_OPERATION_NOT_SUPPORT; } int FileAccessExtAbility::IsFileExist(const Uri &uri, bool &isExist) 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 1f5d7370e635d45cb9b199d12b293a5937745a43..bba7e16699757543b276b5bfc3d313e6426b0c25 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp @@ -24,102 +24,103 @@ namespace OHOS { namespace FileAccessFwk { -int FileAccessExtProxy::OpenFile(const Uri &uri, const int flags) +int FileAccessExtProxy::OpenFile(const Uri &uri, const int flags, int &fd) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenFile"); MessageParcel data; if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&uri)) { HILOG_ERROR("fail to WriteParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } - if (!data.WriteInt32(flags)) { + if (!data.WriteUint32(flags)) { HILOG_ERROR("fail to WriteString mode"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_OPEN_FILE, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_IPC_ERROR; } - int fd = reply.ReadFileDescriptor(); + int ret = reply.ReadInt32(); + if (ret != ERR_OK) { + HILOG_ERROR("fail to ReadInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; + } + + fd = reply.ReadFileDescriptor(); if (fd < ERR_OK) { HILOG_ERROR("fail to ReadFileDescriptor fd"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_FD; + return ERR_PARCEL_FAIL; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return fd; + return ERR_OK; } -int FileAccessExtProxy::CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) +int FileAccessExtProxy::CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CreateFile"); MessageParcel data; if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&parent)) { HILOG_ERROR("fail to WriteParcelable parent"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteString(displayName)) { HILOG_ERROR("fail to WriteString mode"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; - } - - if (!data.WriteParcelable(&newFile)) { - HILOG_ERROR("fail to WriteParcelable newFile"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_CREATE_FILE, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_IPC_ERROR; } int ret = reply.ReadInt32(); - if (ret < ERR_OK) { + if (ret != ERR_OK) { HILOG_ERROR("fail to ReadInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; } std::unique_ptr tempUri(reply.ReadParcelable()); - if (!tempUri) { + if (tempUri == nullptr) { HILOG_ERROR("ReadParcelable value is nullptr."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } newFile = Uri(*tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_OK; } int FileAccessExtProxy::Mkdir(const Uri &parent, const std::string &displayName, Uri &newFile) @@ -129,54 +130,48 @@ int FileAccessExtProxy::Mkdir(const Uri &parent, const std::string &displayName, if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&parent)) { HILOG_ERROR("fail to WriteParcelable parent"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteString(displayName)) { HILOG_ERROR("fail to WriteString displayName"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; - } - - if (!data.WriteParcelable(&newFile)) { - HILOG_ERROR("fail to WriteParcelable newFile"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_MKDIR, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_IPC_ERROR; } int ret = reply.ReadInt32(); - if (ret < ERR_OK) { + if (ret != ERR_OK) { HILOG_ERROR("fail to ReadInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; } std::unique_ptr tempUri(reply.ReadParcelable()); - if (!tempUri) { + if (tempUri == nullptr) { HILOG_ERROR("ReadParcelable value is nullptr."); ret = ERR_IPC_ERROR; FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_PARCEL_FAIL; } newFile = Uri(*tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_OK; } int FileAccessExtProxy::Delete(const Uri &sourceFile) @@ -186,13 +181,13 @@ int FileAccessExtProxy::Delete(const Uri &sourceFile) if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&sourceFile)) { HILOG_ERROR("fail to WriteParcelable sourceFile"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; @@ -205,14 +200,14 @@ int FileAccessExtProxy::Delete(const Uri &sourceFile) } int ret = reply.ReadInt32(); - if (ret < ERR_OK) { + if (ret != ERR_OK) { HILOG_ERROR("fail to ReadInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_OK; } int FileAccessExtProxy::Move(const Uri &sourceFile, const Uri &targetParent, Uri &newFile) @@ -222,53 +217,47 @@ int FileAccessExtProxy::Move(const Uri &sourceFile, const Uri &targetParent, Uri if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&sourceFile)) { HILOG_ERROR("fail to WriteParcelable sourceFile"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&targetParent)) { HILOG_ERROR("fail to WriteParcelable targetParent"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; - } - - if (!data.WriteParcelable(&newFile)) { - HILOG_ERROR("fail to WriteParcelable newFile"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_MOVE, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_IPC_ERROR; } int ret = reply.ReadInt32(); - if (ret < ERR_OK) { + if (ret != ERR_OK) { HILOG_ERROR("fail to ReadInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; } std::unique_ptr tempUri(reply.ReadParcelable()); - if (!tempUri) { + if (tempUri == nullptr) { HILOG_ERROR("ReadParcelable value is nullptr."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } newFile = Uri(*tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_OK; } int FileAccessExtProxy::Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) @@ -278,125 +267,130 @@ int FileAccessExtProxy::Rename(const Uri &sourceFile, const std::string &display if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&sourceFile)) { HILOG_ERROR("fail to WriteParcelable sourceFile"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteString(displayName)) { HILOG_ERROR("fail to WriteString displayName"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; - } - - if (!data.WriteParcelable(&newFile)) { - HILOG_ERROR("fail to WriteParcelable newFile"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_RENAME, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_IPC_ERROR; } int ret = reply.ReadInt32(); - if (ret < ERR_OK) { + if (ret != ERR_OK) { HILOG_ERROR("fail to ReadInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; } std::unique_ptr tempUri(reply.ReadParcelable()); - if (!tempUri) { + if (tempUri == nullptr) { HILOG_ERROR("ReadParcelable value is nullptr."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } newFile = Uri(*tempUri); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_OK; } -std::vector FileAccessExtProxy::ListFile(const Uri &sourceFile) +int FileAccessExtProxy::ListFile(const Uri &sourceFile, std::vector &fileInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "ListFile"); - std::vector vec; MessageParcel data; if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&sourceFile)) { HILOG_ERROR("fail to WriteParcelable sourceFileUri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_LIST_FILE, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_IPC_ERROR; } - vec.clear(); - int64_t count = reply.ReadInt64(); - for (int32_t i = 0; i < count; i++) { - std::unique_ptr fileInfo(reply.ReadParcelable()); - if (fileInfo != nullptr) { - vec.push_back(*fileInfo); - } + int ret = reply.ReadInt32(); + if (ret != ERR_OK) { + HILOG_ERROR("fail to ReadInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; } + fileInfo.clear(); + uint64_t count = reply.ReadUint64(); + for (uint64_t i = 0; i < count; i++) { + std::unique_ptr fileInfoPtr(reply.ReadParcelable()); + if (fileInfoPtr != nullptr) { + fileInfo.push_back(*fileInfoPtr); + } + } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_OK; } -std::vector FileAccessExtProxy::GetRoots() +int FileAccessExtProxy::GetRoots(std::vector &deviceInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); - std::vector vec; MessageParcel data; if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_GET_ROOTS, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_IPC_ERROR; } - vec.clear(); + int ret = reply.ReadInt32(); + if (ret != ERR_OK) { + HILOG_ERROR("fail to ReadInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ret; + } + + deviceInfo.clear(); uint64_t count = reply.ReadUint64(); for (uint64_t i = 0; i < count; i++) { - std::unique_ptr deviceInfo(reply.ReadParcelable()); - if (deviceInfo != nullptr) { - vec.push_back(*deviceInfo); + std::unique_ptr deviceInfoPtr(reply.ReadParcelable()); + if (deviceInfoPtr != nullptr) { + deviceInfo.push_back(*deviceInfoPtr); } } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_OK; } int FileAccessExtProxy::IsFileExist(const Uri &uri, bool &isExist) @@ -406,32 +400,26 @@ int FileAccessExtProxy::IsFileExist(const Uri &uri, bool &isExist) if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteParcelable(&uri)) { HILOG_ERROR("fail to WriteParcelable uri"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; - } - - if (!data.WriteBool(isExist)) { - HILOG_ERROR("fail to WriteBool isExist"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; MessageOption option; int32_t err = Remote()->SendRequest(CMD_IS_FILE_EXIST, data, reply, option); - if (err != NO_ERROR) { + if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ERR_IPC_ERROR; } int ret = reply.ReadInt32(); - if (ret < ERR_OK) { + if (ret != ERR_OK) { HILOG_ERROR("fail to ReadInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; @@ -439,7 +427,7 @@ int FileAccessExtProxy::IsFileExist(const Uri &uri, bool &isExist) isExist = reply.ReadBool(); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_OK; } int FileAccessExtProxy::RegisterNotify(sptr ¬ify) @@ -449,13 +437,13 @@ int FileAccessExtProxy::RegisterNotify(sptr ¬ify) if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteRemoteObject(notify->AsObject())) { HILOG_ERROR("write subscribe type or parcel failed."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; @@ -464,7 +452,7 @@ int FileAccessExtProxy::RegisterNotify(sptr ¬ify) if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return err; + return ERR_IPC_ERROR; } err = reply.ReadInt32(); @@ -474,7 +462,7 @@ int FileAccessExtProxy::RegisterNotify(sptr ¬ify) return err; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return err; + return ERR_OK; } int FileAccessExtProxy::UnregisterNotify(sptr ¬ify) @@ -484,13 +472,13 @@ int FileAccessExtProxy::UnregisterNotify(sptr ¬ify) if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { HILOG_ERROR("WriteInterfaceToken failed"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } if (!data.WriteRemoteObject(notify->AsObject())) { HILOG_ERROR("write subscribe type or parcel failed."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } MessageParcel reply; @@ -499,7 +487,7 @@ int FileAccessExtProxy::UnregisterNotify(sptr ¬ify) if (err != ERR_OK) { HILOG_ERROR("fail to SendRequest. err: %{public}d", err); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return err; + return ERR_IPC_ERROR; } err = reply.ReadInt32(); @@ -509,7 +497,7 @@ int FileAccessExtProxy::UnregisterNotify(sptr ¬ify) return err; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return err; + return ERR_OK; } } // namespace FileAccessFwk } // namespace OHOS 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 2884e2e72b0547774719c3af54c2594a92f9a93e..45ea119888dbbf552edec784ebbc48e49469f648 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp @@ -92,27 +92,28 @@ ErrCode FileAccessExtStub::CmdOpenFile(MessageParcel &data, MessageParcel &reply if (uri == nullptr) { HILOG_ERROR("parameter-uri is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; + return ERR_PARCEL_FAIL; } int flags = data.ReadInt32(); if (flags < 0) { HILOG_ERROR("parameter OpenFile flags is invalid"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; + return ERR_PARCEL_FAIL; } - int fd = OpenFile(*uri, flags); - if (fd < 0) { - HILOG_ERROR("parameter OpenFile fail, fd is %{pubilc}d", fd); + int fd; + int ret = OpenFile(*uri, flags, fd); + if (!reply.WriteInt32(ret)) { + HILOG_ERROR("parameter OpenFile fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_FD; + return ERR_PARCEL_FAIL; } if (!reply.WriteFileDescriptor(fd)) { HILOG_ERROR("OpenFile fail to WriteFileDescriptor fd"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -126,40 +127,29 @@ ErrCode FileAccessExtStub::CmdCreateFile(MessageParcel &data, MessageParcel &rep if (parent == nullptr) { HILOG_ERROR("parameter-parent is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; + return ERR_PARCEL_FAIL; } std::string displayName = data.ReadString(); if (displayName.empty()) { HILOG_ERROR("parameter CreateFile displayName is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; - } - - std::shared_ptr fileNew(data.ReadParcelable()); - if (fileNew == nullptr) { - HILOG_ERROR("parameter-fileNew is nullptr"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; - } - - int ret = CreateFile(*parent, displayName, *fileNew); - if (ret < 0) { - HILOG_ERROR("parameter CreateFile fail, ret is %{pubilc}d", ret); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_PARCEL_FAIL; } + std::string newFile = ""; + OHOS::Uri newFileUri(newFile); + int ret = CreateFile(*parent, displayName, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("parameter CreateFile fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } - if (!reply.WriteParcelable(&(*fileNew))) { + if (!reply.WriteParcelable(&newFileUri)) { HILOG_ERROR("parameter CreateFile fail to WriteParcelable type"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -173,40 +163,29 @@ ErrCode FileAccessExtStub::CmdMkdir(MessageParcel &data, MessageParcel &reply) if (parent == nullptr) { HILOG_ERROR("parameter Mkdir parent is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; + return ERR_PARCEL_FAIL; } std::string displayName = data.ReadString(); if (displayName.empty()) { HILOG_ERROR("parameter Mkdir mode is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; - } - - std::shared_ptr fileNew(data.ReadParcelable()); - if (fileNew == nullptr) { - HILOG_ERROR("parameter Mkdir fileNew is nullptr"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; - } - - int ret = Mkdir(*parent, displayName, *fileNew); - if (ret < 0) { - HILOG_ERROR("parameter Mkdir fail, ret is %{pubilc}d", ret); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_PARCEL_FAIL; } + std::string newFile = ""; + OHOS::Uri newFileUri(newFile); + int ret = Mkdir(*parent, displayName, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("parameter Mkdir fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } - if (!reply.WriteParcelable(&(*fileNew))) { + if (!reply.WriteParcelable(&newFileUri)) { HILOG_ERROR("parameter Mkdir fail to WriteParcelable type"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -220,20 +199,14 @@ ErrCode FileAccessExtStub::CmdDelete(MessageParcel &data, MessageParcel &reply) if (uri == nullptr) { HILOG_ERROR("parameter Delete uri is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; + return ERR_PARCEL_FAIL; } int ret = Delete(*uri); - if (ret < 0) { - HILOG_ERROR("parameter Delete fail, ret is %{pubilc}d", ret); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; - } - if (!reply.WriteInt32(ret)) { - HILOG_ERROR("parameter Delete fail to WriteFileDescriptor ret"); + HILOG_ERROR("parameter Delete fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -247,40 +220,29 @@ ErrCode FileAccessExtStub::CmdMove(MessageParcel &data, MessageParcel &reply) if (sourceFile == nullptr) { HILOG_ERROR("parameter Move sourceFile is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; + return ERR_PARCEL_FAIL; } std::shared_ptr targetParent(data.ReadParcelable()); if (targetParent == nullptr) { HILOG_ERROR("parameter Move targetParent is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; - } - - std::shared_ptr fileNew(data.ReadParcelable()); - if (fileNew == nullptr) { - HILOG_ERROR("parameter Move fileNew is nullptr"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; - } - - int ret = Move(*sourceFile, *targetParent, *fileNew); - if (ret < 0) { - HILOG_ERROR("parameter Move fail, ret is %{pubilc}d", ret); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_PARCEL_FAIL; } + std::string newFile = ""; + OHOS::Uri newFileUri(newFile); + int ret = Move(*sourceFile, *targetParent, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("parameter Move fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } - if (!reply.WriteParcelable(&(*fileNew))) { + if (!reply.WriteParcelable(&newFileUri)) { HILOG_ERROR("parameter Move fail to WriteParcelable type"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -294,40 +256,29 @@ ErrCode FileAccessExtStub::CmdRename(MessageParcel &data, MessageParcel &reply) if (sourceFile == nullptr) { HILOG_ERROR("parameter Rename sourceFileUri is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; + return ERR_PARCEL_FAIL; } std::string displayName = data.ReadString(); if (displayName.empty()) { HILOG_ERROR("parameter Rename mode is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; - } - - std::shared_ptr fileNew(data.ReadParcelable()); - if (fileNew == nullptr) { - HILOG_ERROR("parameter Rename fileUriNew is nullptr"); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; - } - - int ret = Rename(*sourceFile, displayName, *fileNew); - if (ret < 0) { - HILOG_ERROR("parameter Rename fail, ret is %{pubilc}d", ret); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; + return ERR_PARCEL_FAIL; } + std::string newFile = ""; + OHOS::Uri newFileUri(newFile); + int ret = Rename(*sourceFile, displayName, newFileUri); if (!reply.WriteInt32(ret)) { HILOG_ERROR("parameter Rename fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } - if (!reply.WriteParcelable(&(*fileNew))) { + if (!reply.WriteParcelable(&newFileUri)) { HILOG_ERROR("parameter Rename fail to WriteParcelable type"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); @@ -339,24 +290,31 @@ ErrCode FileAccessExtStub::CmdListFile(MessageParcel &data, MessageParcel &reply StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdListFile"); std::shared_ptr uri(data.ReadParcelable()); if (uri == nullptr) { - HILOG_ERROR("parameter ListFile uri is nullptr"); + HILOG_ERROR("parameter CmdListFile uri is nullptr"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_URI; + return ERR_PARCEL_FAIL; + } + + std::vector fileInfo; + int ret = ListFile(*uri, fileInfo); + if (!reply.WriteInt32(ret)) { + HILOG_ERROR("parameter CmdListFile fail to WriteInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_PARCEL_FAIL; } - std::vector vec = ListFile(*uri); - uint64_t count {vec.size()}; + uint64_t count = fileInfo.size(); if (!reply.WriteUint64(count)) { - HILOG_ERROR("parameter ListFile fail to WriteInt32 count"); + HILOG_ERROR("parameter CmdListFile fail to WriteUint64 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } for (uint64_t i = 0; i < count; i++) { - if (!reply.WriteParcelable(&vec[i])) { - HILOG_ERROR("parameter ListFile fail to WriteParcelable vec"); + if (!reply.WriteParcelable(&fileInfo[i])) { + HILOG_ERROR("parameter CmdListFile fail to WriteParcelable vec"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } } @@ -367,19 +325,27 @@ ErrCode FileAccessExtStub::CmdListFile(MessageParcel &data, MessageParcel &reply ErrCode FileAccessExtStub::CmdGetRoots(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdGetRoots"); - std::vector vec = GetRoots(); - uint64_t count {vec.size()}; + + std::vector deviceInfo; + int ret = GetRoots(deviceInfo); + if (!reply.WriteInt32(ret)) { + HILOG_ERROR("parameter CmdGetRoots fail to WriteInt32 ret"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_PARCEL_FAIL; + } + + uint64_t count = deviceInfo.size(); if (!reply.WriteUint64(count)) { - HILOG_ERROR("parameter GetRoots fail to WriteInt32 count"); + HILOG_ERROR("parameter CmdGetRoots fail to WriteUint64 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } for (uint64_t i = 0; i < count; i++) { - if (!reply.WriteParcelable(&vec[i])) { - HILOG_ERROR("parameter GetRoots fail to WriteParcelable ret"); + if (!reply.WriteParcelable(&deviceInfo[i])) { + HILOG_ERROR("parameter CmdGetRoots fail to WriteParcelable vec"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_IPC_ERROR; + return ERR_PARCEL_FAIL; } } @@ -399,12 +365,6 @@ ErrCode FileAccessExtStub::CmdIsFileExist(MessageParcel &data, MessageParcel &re bool isExist = data.ReadBool(); int ret = IsFileExist(*uri, isExist); - if (ret < 0) { - HILOG_ERROR("parameter IsFileExist fail, ret is %{pubilc}d", ret); - FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ret; - } - if (!reply.WriteInt32(ret)) { HILOG_ERROR("parameter IsFileExist fail to WriteInt32 ret"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); diff --git a/frameworks/innerkits/file_access/src/file_access_ext_stub_impl.cpp b/frameworks/innerkits/file_access/src/file_access_ext_stub_impl.cpp index 473747d38d0fb97823178257c63f15ce5e9c34b9..4f9b15509f0eb0cce149836f10755c5ae4eaeb96 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_stub_impl.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_stub_impl.cpp @@ -26,7 +26,7 @@ std::shared_ptr FileAccessExtStubImpl::GetOwner() return extension_; } -int FileAccessExtStubImpl::OpenFile(const Uri &uri, const int flags) +int FileAccessExtStubImpl::OpenFile(const Uri &uri, const int flags, int &fd) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenFile"); if (extension_ == nullptr) { @@ -35,7 +35,7 @@ int FileAccessExtStubImpl::OpenFile(const Uri &uri, const int flags) return ERR_IPC_ERROR; } - int ret = extension_->OpenFile(uri, flags); + int ret = extension_->OpenFile(uri, flags, fd); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); return ret; } @@ -110,34 +110,32 @@ int FileAccessExtStubImpl::Rename(const Uri &sourceFile, const std::string &disp return ret; } -std::vector FileAccessExtStubImpl::ListFile(const Uri &sourceFile) +int FileAccessExtStubImpl::ListFile(const Uri &sourceFile, std::vector &fileInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "ListFile"); - std::vector vec; if (extension_ == nullptr) { HILOG_ERROR("ListFile get extension failed."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_IPC_ERROR; } - vec = extension_->ListFile(sourceFile); + int ret = extension_->ListFile(sourceFile, fileInfo); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ret; } -std::vector FileAccessExtStubImpl::GetRoots() +int FileAccessExtStubImpl::GetRoots(std::vector &deviceInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); - std::vector vec; if (extension_ == nullptr) { HILOG_ERROR("GetRoots get extension failed."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ERR_IPC_ERROR; } - vec = extension_->GetRoots(); + int ret = extension_->GetRoots(deviceInfo); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return vec; + return ret; } int FileAccessExtStubImpl::IsFileExist(const Uri &uri, bool &isExist) diff --git a/frameworks/innerkits/file_access/src/file_access_helper.cpp b/frameworks/innerkits/file_access/src/file_access_helper.cpp index 1d6edf8bcebdccfac1430da389a356e02f121794..883947b2eaeb3fc002f4db6972320027541e27d0 100644 --- a/frameworks/innerkits/file_access/src/file_access_helper.cpp +++ b/frameworks/innerkits/file_access/src/file_access_helper.cpp @@ -31,6 +31,9 @@ namespace { static const std::string SCHEME_NAME = "datashare"; static const std::string MEDIA_BNUDLE_NAME_ALIAS = "media"; static const std::string MEDIA_BNUDLE_NAME = "com.ohos.medialibrary.medialibrarydata"; + static const int32_t READ = 0; + static const int32_t WRITE = 1; + static const int32_t WRITE_READ = 2; } std::unordered_map FileAccessHelper::wantsMap_; @@ -47,8 +50,8 @@ static bool GetBundleNameFromPath(const std::string &path, std::string &bundleNa } auto tmpPath = path.substr(1); - auto index = tmpPath.find_first_of("/"); - bundleName = tmpPath.substr(0, index); + auto ret = tmpPath.find_first_of("/"); + bundleName = tmpPath.substr(0, ret); if (bundleName.compare(MEDIA_BNUDLE_NAME_ALIAS) == 0) { bundleName = MEDIA_BNUDLE_NAME; } @@ -399,7 +402,7 @@ bool FileAccessHelper::GetProxy() return true; } -int FileAccessHelper::OpenFile(Uri &uri, int flags) +int FileAccessHelper::OpenFile(Uri &uri, int flags, int &fd) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenFile"); if (!CheckUri(uri)) { @@ -408,6 +411,11 @@ int FileAccessHelper::OpenFile(Uri &uri, int flags) return ERR_INVALID_URI; } + if (flags != READ && flags != WRITE && flags != WRITE_READ) { + HILOG_ERROR("flags type error."); + return ERR_INVALID_PARAM; + } + sptr fileExtProxy = GetProxyByUri(uri); if (fileExtProxy == nullptr) { HILOG_ERROR("failed with invalid fileAccessExtProxy"); @@ -415,9 +423,9 @@ int FileAccessHelper::OpenFile(Uri &uri, int flags) return ERR_IPC_ERROR; } - int fd = fileExtProxy->OpenFile(uri, flags); + int ret = fileExtProxy->OpenFile(uri, flags, fd); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return fd; + return ret; } int FileAccessHelper::CreateFile(Uri &parent, const std::string &displayName, Uri &newFile) @@ -436,9 +444,9 @@ int FileAccessHelper::CreateFile(Uri &parent, const std::string &displayName, Ur return ERR_IPC_ERROR; } - int index = fileExtProxy->CreateFile(parent, displayName, newFile); + int ret = fileExtProxy->CreateFile(parent, displayName, newFile); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return index; + return ret; } int FileAccessHelper::Mkdir(Uri &parent, const std::string &displayName, Uri &newDir) @@ -457,9 +465,9 @@ int FileAccessHelper::Mkdir(Uri &parent, const std::string &displayName, Uri &ne return ERR_IPC_ERROR; } - int index = fileExtProxy->Mkdir(parent, displayName, newDir); + int ret = fileExtProxy->Mkdir(parent, displayName, newDir); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return index; + return ret; } int FileAccessHelper::Delete(Uri &selectFile) @@ -478,9 +486,9 @@ int FileAccessHelper::Delete(Uri &selectFile) return ERR_IPC_ERROR; } - int index = fileExtProxy->Delete(selectFile); + int ret = fileExtProxy->Delete(selectFile); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return index; + return ret; } int FileAccessHelper::Move(Uri &sourceFile, Uri &targetParent, Uri &newFile) @@ -512,9 +520,9 @@ int FileAccessHelper::Move(Uri &sourceFile, Uri &targetParent, Uri &newFile) return ERR_IPC_ERROR; } - int index = fileExtProxy->Move(sourceFile, targetParent, newFile); + int ret = fileExtProxy->Move(sourceFile, targetParent, newFile); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return index; + return ret; } int FileAccessHelper::Rename(Uri &sourceFile, const std::string &displayName, Uri &newFile) @@ -533,43 +541,42 @@ int FileAccessHelper::Rename(Uri &sourceFile, const std::string &displayName, Ur return ERR_IPC_ERROR; } - int index = fileExtProxy->Rename(sourceFile, displayName, newFile); + int ret = fileExtProxy->Rename(sourceFile, displayName, newFile); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return index; + return ret; } -std::vector FileAccessHelper::ListFile(Uri &sourceFile) +int FileAccessHelper::ListFile(Uri &sourceFile, std::vector &fileInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "ListFile"); - std::vector results; if (!CheckUri(sourceFile)) { HILOG_ERROR("sourceFile format check error."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return results; + return ERR_INVALID_URI; } sptr fileExtProxy = GetProxyByUri(sourceFile); if (fileExtProxy == nullptr) { HILOG_ERROR("failed with invalid fileAccessExtProxy"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return results; + return ERR_IPC_ERROR; } - results = fileExtProxy->ListFile(sourceFile); + int ret = fileExtProxy->ListFile(sourceFile, fileInfo); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return results; + return ret; } -std::vector FileAccessHelper::GetRoots() +int FileAccessHelper::GetRoots(std::vector &deviceInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); - std::vector rootsInfo; if (!GetProxy()) { HILOG_ERROR("failed with invalid fileAccessExtProxy"); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return rootsInfo; + return ERR_IPC_ERROR; } + int ret = ERR_OK; for (auto iter = cMap_.begin(); iter != cMap_.end(); ++iter) { auto connectInfo = iter->second; auto fileAccessExtProxy = connectInfo->fileAccessExtConnection->GetFileExtProxy(); @@ -577,11 +584,15 @@ std::vector FileAccessHelper::GetRoots() if (fileAccessExtProxy) { AddFileAccessDeathRecipient(fileAccessExtProxy->AsObject()); } - results = fileAccessExtProxy->GetRoots(); - rootsInfo.insert(rootsInfo.end(), results.begin(), results.end()); + ret = fileAccessExtProxy->GetRoots(results); + if (ret != ERR_OK) { + HILOG_ERROR("getRoots Failed to get value"); + return ret; + } + deviceInfo.insert(deviceInfo.end(), results.begin(), results.end()); } - return rootsInfo; + return ret; } std::vector FileAccessHelper::GetRegisterFileAccessExtAbilityInfo() @@ -623,9 +634,9 @@ int FileAccessHelper::IsFileExist(Uri &uri, bool &isExist) return ERR_IPC_ERROR; } - int index = fileExtProxy->IsFileExist(uri, isExist); + int ret = fileExtProxy->IsFileExist(uri, isExist); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return index; + return ret; } int FileAccessHelper::On(std::shared_ptr &callback) diff --git a/frameworks/innerkits/file_access/src/js_file_access_ext_ability.cpp b/frameworks/innerkits/file_access/src/js_file_access_ext_ability.cpp index a6e31e74b47789998d60a0d457b663a5d19fb464..607ef0a15d60d7467cf1d6b8ac78155a7cc6b260 100644 --- a/frameworks/innerkits/file_access/src/js_file_access_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/js_file_access_ext_ability.cpp @@ -339,7 +339,7 @@ struct Value { int code {ERR_OK}; }; -int JsFileAccessExtAbility::OpenFile(const Uri &uri, int flags) +int JsFileAccessExtAbility::OpenFile(const Uri &uri, int flags, int &fd) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "OpenFile"); auto value = std::make_shared>(); @@ -381,8 +381,9 @@ int JsFileAccessExtAbility::OpenFile(const Uri &uri, int flags) return ERR_FILEIO_FAIL; } + fd = value->data; FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return value->data; + return ERR_OK; } int JsFileAccessExtAbility::CreateFile(const Uri &parent, const std::string &displayName, Uri &newFile) @@ -430,12 +431,12 @@ int JsFileAccessExtAbility::CreateFile(const Uri &parent, const std::string &dis if ((value->data).empty()) { HILOG_ERROR("call CreateFile with return empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; + return ERR_PARSER_FAIL; } newFile = Uri(value->data); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return errCode; + return ERR_OK; } int JsFileAccessExtAbility::Mkdir(const Uri &parent, const std::string &displayName, Uri &newFile) @@ -483,11 +484,11 @@ int JsFileAccessExtAbility::Mkdir(const Uri &parent, const std::string &displayN if ((value->data).empty()) { HILOG_ERROR("call Mkdir with return empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; + return ERR_PARSER_FAIL; } newFile = Uri(value->data); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return errCode; + return ERR_OK; } int JsFileAccessExtAbility::Delete(const Uri &sourceFile) @@ -525,7 +526,7 @@ int JsFileAccessExtAbility::Delete(const Uri &sourceFile) } FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return *ret; + return ERR_OK; } int JsFileAccessExtAbility::Move(const Uri &sourceFile, const Uri &targetParent, Uri &newFile) @@ -575,11 +576,11 @@ int JsFileAccessExtAbility::Move(const Uri &sourceFile, const Uri &targetParent, if ((value->data).empty()) { HILOG_ERROR("call move with return empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; + return ERR_PARSER_FAIL; } newFile = Uri(value->data); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return errCode; + return ERR_OK; } int JsFileAccessExtAbility::Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) @@ -628,14 +629,14 @@ int JsFileAccessExtAbility::Rename(const Uri &sourceFile, const std::string &dis if ((value->data).empty()) { HILOG_ERROR("call Rename with return empty."); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return ERR_INVALID_PARAM; + return ERR_PARSER_FAIL; } newFile = Uri(value->data); FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return errCode; + return ERR_OK; } -std::vector JsFileAccessExtAbility::ListFile(const Uri &sourceFile) +int JsFileAccessExtAbility::ListFile(const Uri &sourceFile, std::vector &fileInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "ListFile"); auto value = std::make_shared>>(); @@ -677,17 +678,20 @@ std::vector JsFileAccessExtAbility::ListFile(const Uri &sourceFile) auto errCode = CallJsMethod("listFile", jsRuntime_, jsObj_.get(), argParser, retParser); if (errCode != ERR_OK) { HILOG_ERROR("CallJsMethod error, code:%{public}d.", errCode); + return errCode; } if (value->code != ERR_OK) { HILOG_ERROR("fileio fail."); + return ERR_FILEIO_FAIL; } + fileInfo = value->data; FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return value->data; + return ERR_OK; } -std::vector JsFileAccessExtAbility::GetRoots() +int JsFileAccessExtAbility::GetRoots(std::vector &deviceInfo) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); auto value = std::make_shared>>(); @@ -722,14 +726,17 @@ std::vector JsFileAccessExtAbility::GetRoots() auto errCode = CallJsMethod("getRoots", jsRuntime_, jsObj_.get(), argParser, retParser); if (errCode != ERR_OK) { HILOG_ERROR("CallJsMethod error, code:%{public}d.", errCode); + return errCode; } if (value->code != ERR_OK) { HILOG_ERROR("fileio fail."); + return ERR_FILEIO_FAIL; } + deviceInfo = value->data; FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return value->data; + return ERR_OK; } int JsFileAccessExtAbility::IsFileExist(const Uri &uri, bool &isExist) @@ -766,7 +773,7 @@ int JsFileAccessExtAbility::IsFileExist(const Uri &uri, bool &isExist) isExist = value->data; FinishTrace(HITRACE_TAG_FILEMANAGEMENT); - return errCode; + return ERR_OK; } } // namespace FileAccessFwk } // namespace OHOS \ No newline at end of file diff --git a/frameworks/innerkits/file_access/test/file_access_helper_test.cpp b/frameworks/innerkits/file_access/test/file_access_helper_test.cpp index 7fd2b7d4c7785664be7126cdb7f5395f78c0e490..c455125e4257d9e19692edc9899f86f8467fe5ec 100644 --- a/frameworks/innerkits/file_access/test/file_access_helper_test.cpp +++ b/frameworks/innerkits/file_access/test/file_access_helper_test.cpp @@ -146,14 +146,16 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0000, testing::ext::T OHOS::Security::AccessToken::AccessTokenID tokenId = tokenIdEx.tokenIdExStruct.tokenID; SetSelfTokenID(tokenId); - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri parentUri(""); if (info.size() > 0) { parentUri = info[0].uri; GTEST_LOG_(INFO) << parentUri.ToString(); } - int result = fah->Mkdir(parentUri, "Download", newDirUri); + result = fah->Mkdir(parentUri, "Download", newDirUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri newDirUriTest(""); @@ -164,8 +166,9 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0000, testing::ext::T result = fah->CreateFile(newDirUriTest, "file_access_helper_OpenFile_0000.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, 0); - EXPECT_GT(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = fah->OpenFile(newFileUri, 0, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0000 result:" << result << endl; @@ -191,7 +194,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0001, testing::ext::T GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0001"; try { Uri uri(""); - int result = fah->OpenFile(uri, 0); + int fd; + int result = fah->OpenFile(newFileUri, 0, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0001 result:" << result << endl; } catch (...) { @@ -218,7 +222,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0002, testing::ext::T EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri uri("storage/media/100/local/files/Download/file_access_helper_OpenFile_0002.txt"); - result = fah->OpenFile(uri, 0); + int fd; + result = fah->OpenFile(uri, 0, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0002 result:" << result << endl; @@ -244,7 +249,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0003, testing::ext::T GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_OpenFile_0003"; try { Uri uri("~!@#$%^&*()_"); - int result = fah->OpenFile(uri, 0); + int fd; + int result = fah->OpenFile(uri, 0, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0003 result:" << result << endl; } catch (...) { @@ -270,7 +276,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0004, testing::ext::T int result = fah->CreateFile(newDirUri, "file_access_helper_OpenFile_0004.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, -1); + int fd; + result = fah->OpenFile(newFileUri, -1, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0004 result:" << result << endl; @@ -299,8 +306,9 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0005, testing::ext::T int result = fah->CreateFile(newDirUri, "file_access_helper_OpenFile_0005.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, 1); - EXPECT_GT(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = fah->OpenFile(newFileUri, 1, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0005 result:" << result << endl; result = fah->Delete(newFileUri); @@ -328,8 +336,9 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_OpenFile_0006, testing::ext::T int result = fah->CreateFile(newDirUri, "file_access_helper_OpenFile_0006.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, 2); - EXPECT_GT(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = fah->OpenFile(newFileUri, 2, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0006 result:" << result << endl; result = fah->Delete(newFileUri); @@ -1076,8 +1085,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_Move_0009, testing::ext::TestS result = fah->Mkdir(newDirUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); for (size_t i = 0; i < 2000; i++) { - Uri testUri(""); string fileName = "test" + ToString(i) + ".txt"; fah->CreateFile(newDirUriTest1, fileName, testUri); } @@ -1337,7 +1346,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0000, testing::ext::T result = fah->CreateFile(newDirUriTest, "file_access_helper_ListFile_0000.txt", testUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - std::vector fileInfo = fah->ListFile(newDirUriTest); + std::vector fileInfo; + fah->ListFile(newDirUriTest, fileInfo); EXPECT_GT(fileInfo.size(), 0); GTEST_LOG_(INFO) << "ListFile_0000 result:" << fileInfo.size() << endl; @@ -1363,7 +1373,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0001, testing::ext::T GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_ListFile_0001"; try { Uri sourceFileUri(""); - std::vector fileInfo = fah->ListFile(sourceFileUri); + std::vector fileInfo; + fah->ListFile(sourceFileUri, fileInfo); EXPECT_EQ(fileInfo.size(), 0); GTEST_LOG_(INFO) << "ListFile_0001 result:" << fileInfo.size() << endl; } catch (...) { @@ -1394,7 +1405,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0002, testing::ext::T EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); - std::vector fileInfo = fah->ListFile(sourceFileUri); + std::vector fileInfo; + fah->ListFile(sourceFileUri, fileInfo); EXPECT_EQ(fileInfo.size(), 0); GTEST_LOG_(INFO) << "ListFile_0002 result:" << fileInfo.size() << endl; @@ -1420,7 +1432,8 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_ListFile_0003, testing::ext::T GTEST_LOG_(INFO) << "FileAccessHelperTest-begin file_access_helper_ListFile_0003"; try { Uri sourceFileUri("~!@#$%^&*()_"); - std::vector fileInfo = fah->ListFile(sourceFileUri); + std::vector fileInfo; + fah->ListFile(sourceFileUri, fileInfo); EXPECT_EQ(fileInfo.size(), 0); GTEST_LOG_(INFO) << "ListFile_0003 result:" << fileInfo.size() << endl; } catch (...) { @@ -1444,7 +1457,9 @@ HWTEST_F(FileAccessHelperTest, file_access_helper_GetRoots_0000, testing::ext::T try { uint64_t selfTokenId_ = GetSelfTokenID(); - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); EXPECT_GT(info.size(), 0); if (info.size() > 0) { diff --git a/frameworks/innerkits/file_access/test/file_extension_helper_test.cpp b/frameworks/innerkits/file_access/test/file_extension_helper_test.cpp index 95fd39c25315b576e6a7c0c04dce35e2c84d2621..bf60786903909c9f71ac7b3998772b3aa4d56dda 100644 --- a/frameworks/innerkits/file_access/test/file_extension_helper_test.cpp +++ b/frameworks/innerkits/file_access/test/file_extension_helper_test.cpp @@ -144,21 +144,24 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0000, testing:: OHOS::Security::AccessToken::AccessTokenID tokenId = tokenIdEx.tokenIdExStruct.tokenID; SetSelfTokenID(tokenId); - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; GTEST_LOG_(INFO) << parentUri.ToString(); Uri newDirUriTest1(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri newFileUri(""); result = fah->CreateFile(newDirUriTest1, "file_extension_helper_OpenFile_0000.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, 0); - EXPECT_GT(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = fah->OpenFile(newFileUri, 0, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0000 result:" << result << endl; @@ -185,7 +188,8 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0001, testing:: GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0001"; try { Uri uri(""); - int result = fah->OpenFile(uri, 0); + int fd; + int result = fah->OpenFile(uri, 0, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0001 result:" << result << endl; } catch (...) { @@ -207,15 +211,18 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0002, testing:: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0002"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newFileUri(""); - int result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0002.txt", newFileUri); + result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0002.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri uri("storage/media/100/local/files/Download/file_extension_helper_OpenFile_0002.txt"); - result = fah->OpenFile(uri, 0); + int fd; + result = fah->OpenFile(uri, 0, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0002 result:" << result << endl; @@ -242,7 +249,8 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0003, testing:: GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0003"; try { Uri uri("~!@#$%^&*()_"); - int result = fah->OpenFile(uri, 0); + int fd; + int result = fah->OpenFile(uri, 0, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0003 result:" << result << endl; } catch (...) { @@ -264,14 +272,17 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0004, testing:: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0004"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newFileUri(""); - int result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0004.txt", newFileUri); + result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0004.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, -1); + int fd; + result = fah->OpenFile(newFileUri, -1, fd); EXPECT_LT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0004 result:" << result << endl; @@ -297,15 +308,18 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0005, testing:: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0005"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newFileUri(""); - int result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0005.txt", newFileUri); + result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0005.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, 1); - EXPECT_GT(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = fah->OpenFile(newFileUri, 1, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0005 result:" << result << endl; result = fah->Delete(newFileUri); @@ -330,15 +344,18 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_OpenFile_0006, testing:: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_OpenFile_0006"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newFileUri(""); - int result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0006.txt", newFileUri); + result = fah->CreateFile(parentUri, "file_extension_helper_OpenFile_0006.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fah->OpenFile(newFileUri, 2); - EXPECT_GT(result, OHOS::FileAccessFwk::ERR_OK); + int fd; + result = fah->OpenFile(newFileUri, 2, fd); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0006 result:" << result << endl; result = fah->Delete(newFileUri); @@ -363,11 +380,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_CreateFile_0000, testing { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_CreateFile_0000"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newFileUri(""); - int result = fah->CreateFile(parentUri, "file_extension_helper_CreateFile_0000.txt", newFileUri); + result = fah->CreateFile(parentUri, "file_extension_helper_CreateFile_0000.txt", newFileUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "CreateFile_0000 result:" << result << endl; @@ -465,12 +484,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_CreateFile_0004, testing { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_CreateFile_0004"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newFileUri(""); string displayName = ""; - int result = fah->CreateFile(parentUri, displayName, newFileUri); + result = fah->CreateFile(parentUri, displayName, newFileUri); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "CreateFile_0004 result:" << result << endl; } @@ -493,11 +514,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Mkdir_0000, testing::ext { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Mkdir_0000"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "file_extension_helper_Mkdir_0000", newDirUriTest); + result = fah->Mkdir(parentUri, "file_extension_helper_Mkdir_0000", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Mkdir_0000 result:" << result << endl; @@ -595,12 +618,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Mkdir_0004, testing::ext { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Mkdir_0004"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); string displayName = ""; - int result = fah->Mkdir(parentUri, displayName, newDirUriTest); + result = fah->Mkdir(parentUri, displayName, newDirUriTest); EXPECT_NE(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "Mkdir_0004 result:" << result << endl; } @@ -623,11 +648,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0000, testing::ex { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0000"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri newFileUri(""); @@ -660,11 +687,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0001, testing::ex { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0001"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Delete(newDirUriTest); @@ -713,11 +742,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Delete_0003, testing::ex { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Delete_0003"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri selectFileUri("storage/media/100/local/files/Download/test"); @@ -771,12 +802,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0000, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0000"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); @@ -816,12 +849,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0001, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0001"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); @@ -858,11 +893,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0002, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0002"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -893,12 +930,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0003, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0003"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); @@ -939,11 +978,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0004, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0004"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -974,11 +1015,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0005, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0005"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest); + result = fah->Mkdir(parentUri, "test1", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -1013,12 +1056,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0006, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0006"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); @@ -1059,12 +1104,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0007, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0007"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); @@ -1105,12 +1152,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0008, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0008"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); @@ -1143,20 +1192,22 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0009, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0009"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); + Uri testUri(""); for (size_t j = 0; j < 2000; j++) { - Uri testUri(""); string fileName = "test" + ToString(j) + ".txt"; fah->CreateFile(newDirUriTest1, fileName, testUri); } @@ -1188,12 +1239,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0010, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0010"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); result = fah->Mkdir(parentUri, "test2", newDirUriTest2); @@ -1233,12 +1286,14 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Move_0011, testing::ext: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Move_0011"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest1(""); Uri newDirUriTest2(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest1); + result = fah->Mkdir(parentUri, "test1", newDirUriTest1); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -1283,11 +1338,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0000, testing::ex { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0000"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -1321,11 +1378,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0001, testing::ex { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0001"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri renameUri(""); @@ -1379,11 +1438,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0003, testing::ex { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0003"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -1442,11 +1503,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_Rename_0005, testing::ex { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_Rename_0005"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -1480,23 +1543,22 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0000, testing:: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0000"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); - for (size_t j = 0; j < 2000; j++) - { - string fileName = "test" + ToString(j) + ".txt"; - fah->CreateFile(newDirUriTest, fileName, testUri); - } + result = fah->CreateFile(newDirUriTest, "file_extension_helper_ListFile_0000.txt", testUri); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - std::vector fileInfo = fah->ListFile(newDirUriTest); + std::vector fileInfo; + fah->ListFile(newDirUriTest, fileInfo); EXPECT_GT(fileInfo.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0000 result:" << fileInfo.size() << endl; result = fah->Delete(newDirUriTest); EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); @@ -1521,9 +1583,9 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0001, testing:: GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0001"; try { Uri sourceFileUri(""); - std::vector fileInfo = fah->ListFile(sourceFileUri); + std::vector fileInfo; + fah->ListFile(sourceFileUri, fileInfo); EXPECT_EQ(fileInfo.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0001 result:" << fileInfo.size() << endl; } catch (...) { GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; } @@ -1543,11 +1605,13 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0002, testing:: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0002"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test", newDirUriTest); + result = fah->Mkdir(parentUri, "test", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri testUri(""); @@ -1555,9 +1619,9 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0002, testing:: EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri sourceFileUri("storage/media/100/local/files/Download/test/test.txt"); - std::vector fileInfo = fah->ListFile(sourceFileUri); + std::vector fileInfo; + fah->ListFile(sourceFileUri, fileInfo); EXPECT_EQ(fileInfo.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0002 result:" << fileInfo.size() << endl; result = fah->Delete(newDirUriTest); EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); @@ -1582,9 +1646,9 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_ListFile_0003, testing:: GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_ListFile_0003"; try { Uri sourceFileUri("~!@#$%^&*()_"); - std::vector fileInfo = fah->ListFile(sourceFileUri); + std::vector fileInfo; + fah->ListFile(sourceFileUri, fileInfo); EXPECT_EQ(fileInfo.size(), 0); - GTEST_LOG_(INFO) << "ListFile_0003 result:" << fileInfo.size() << endl; } catch (...) { GTEST_LOG_(INFO) << "FileExtensionHelperTest-an exception occurred."; } @@ -1604,7 +1668,9 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_GetRoots_0000, testing:: { GTEST_LOG_(INFO) << "FileExtensionHelperTest-begin file_extension_helper_GetRoots_0000"; try { - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); EXPECT_GT(info.size(), 0); GTEST_LOG_(INFO) << "GetRoots_0000 result:" << info.size() << endl; @@ -1639,14 +1705,16 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_allInterface_0000, testi vector wants = FileAccessHelper::GetRegisterFileAccessExtAbilityInfo(); shared_ptr fahs = FileAccessHelper::Creator(remoteObj, wants); - vector info = fahs->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; string uri = parentUri.ToString(); GTEST_LOG_(INFO) << uri; Uri documentUri(""); - int result = fahs->Mkdir(parentUri, "Documents", documentUri); + result = fahs->Mkdir(parentUri, "Documents", documentUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri newDirUriTest1(""); @@ -1668,11 +1736,12 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_allInterface_0000, testi result = fahs->Move(newFileUri, newDirUriTest2, moveUri); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); - result = fahs->OpenFile(moveUri, 0); + int fd; + result = fah->OpenFile(moveUri, 0, fd); EXPECT_GT(result, OHOS::FileAccessFwk::ERR_OK); GTEST_LOG_(INFO) << "OpenFile_0000 result:" << result << endl; - + result = fahs->Delete(newDirUriTest1); EXPECT_GE(result, OHOS::FileAccessFwk::ERR_OK); @@ -1700,13 +1769,15 @@ HWTEST_F(FileExtensionHelperTest, file_extension_helper_IsFileExist_0000, testin try { uint64_t selfTokenId_ = GetSelfTokenID(); - vector info = fah->GetRoots(); + vector info; + int result = fah->GetRoots(info); + EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); for (size_t i = 0; i < info.size(); i++) { Uri parentUri = info[i].uri; GTEST_LOG_(INFO) << parentUri.ToString(); Uri newDirUriTest(""); - int result = fah->Mkdir(parentUri, "test1", newDirUriTest); + result = fah->Mkdir(parentUri, "test1", newDirUriTest); EXPECT_EQ(result, OHOS::FileAccessFwk::ERR_OK); Uri newFileUri(""); diff --git a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp index 8047c0da6c781a55e76fdc264fb5b21f0368fd39..280f687b8e4d11c0221640b41756a41c569514bc 100644 --- a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp +++ b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp @@ -305,8 +305,8 @@ napi_value NAPI_OpenFile(napi_env env, napi_callback_info info) string uriString(uri.get()); auto cbExec = [uriString, flags, result, fileAccessHelper]() -> NError { OHOS::Uri uri(uriString); - *result = fileAccessHelper->OpenFile(uri, flags); - return NError(ERRNO_NOERR); + int ret = fileAccessHelper->OpenFile(uri, flags, *result); + return NError(ret); }; auto cbComplete = [result](napi_env env, NError err) -> NVal { if (err) { @@ -612,8 +612,8 @@ napi_value NAPI_ListFile(napi_env env, napi_callback_info info) string uriString(uri.get()); auto cbExec = [uriString, result, fileAccessHelper]() -> NError { OHOS::Uri uri(uriString); - *result = fileAccessHelper->ListFile(uri); - return NError(ERRNO_NOERR); + int ret = fileAccessHelper->ListFile(uri, *result); + return NError(ret); }; auto cbComplete = [result](napi_env env, NError err) -> NVal { if (err) { @@ -652,8 +652,8 @@ napi_value NAPI_GetRoots(napi_env env, napi_callback_info info) auto result = std::make_shared>(); auto cbExec = [result, fileAccessHelper]() -> NError { - *result = fileAccessHelper->GetRoots(); - return NError(ERRNO_NOERR); + int ret = fileAccessHelper->GetRoots(*result); + return NError(ret); }; auto cbComplete = [result](napi_env env, NError err) -> NVal { if (err) { diff --git a/interfaces/kits/napi/file_access_module/napi_notify_callback.cpp b/interfaces/kits/napi/file_access_module/napi_notify_callback.cpp index 312cd8b14b17f0895a6ce48fa1cbcf2c7b215a60..2a624249d506c7fc06c57620e5636500d7bd52c7 100644 --- a/interfaces/kits/napi/file_access_module/napi_notify_callback.cpp +++ b/interfaces/kits/napi/file_access_module/napi_notify_callback.cpp @@ -52,6 +52,7 @@ int NapiNotifyCallback::OnNotify(const NotifyMessage& message) delete work; return ERR_INVALID_PARAM; } + work->data = param; int ret = uv_queue_work(loop_, work, [](uv_work_t *work) {}, diff --git a/utils/file_access_framework_errno.h b/utils/file_access_framework_errno.h index d45271e89f266eb0976348e78e5cc56e415708c2..25eab0674ae26a1acb13b5b7356a8698b0eb1437 100644 --- a/utils/file_access_framework_errno.h +++ b/utils/file_access_framework_errno.h @@ -28,7 +28,6 @@ enum { ERR_OK = 0, ERR_IPC_ERROR = BASE_OFFSET, // ipc error ERR_PERMISSION_DENIED, // no permission - ERR_INVALID_FD, // invalid fd ERR_INVALID_URI, // invalid uri ERR_FILEIO_FAIL, // fileio fail ERR_PARAM_NUMBER, // Parameter number is abnormal @@ -39,7 +38,8 @@ enum { ERR_INVALID_NOTIFY, // invalid notify ERR_REMOVE_NOTIFY_FAIL, // remove notify fail ERR_NOTIFY_NOT_EXIST, // the notify is not exist - ERR_NOTIFY_FAIL // notify client fail + ERR_NOTIFY_FAIL, // notify client fail + ERR_PARCEL_FAIL // parcel fail }; } // namespace FileAccessFwk } // namespace OHOS