From bb483b4b9ac59db087fd5b9d9bcf1578e24b6cef Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Wed, 17 Aug 2022 14:27:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9listfile=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangjianqiang --- .../include/file_access_ext_ability.h | 1 + .../include/file_access_ext_proxy.h | 1 + .../include/file_access_ext_stub.h | 1 + .../include/file_access_ext_stub_impl.h | 1 + .../include/file_access_extension_info.h | 6 +- .../file_access/include/file_access_helper.h | 1 + .../include/ifile_access_ext_base.h | 4 +- .../include/js_file_access_ext_ability.h | 1 + .../src/file_access_ext_ability.cpp | 6 + .../file_access/src/file_access_ext_proxy.cpp | 39 +++++++ .../file_access/src/file_access_ext_stub.cpp | 31 +++++ .../src/file_access_ext_stub_impl.cpp | 15 +++ .../file_access/src/file_access_helper.cpp | 15 +++ .../src/js_file_access_ext_ability.cpp | 52 +++++++++ .../napi_fileaccess_helper.cpp | 109 +++++++++++++++++- .../napi_fileaccess_helper.h | 1 + 16 files changed, 281 insertions(+), 3 deletions(-) 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 ffc0b19d..48b76661 100644 --- a/frameworks/innerkits/file_access/include/file_access_ext_ability.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_ability.h @@ -48,6 +48,7 @@ public: virtual int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile); virtual std::vector ListFile(const Uri &sourceFile); + virtual std::vector File(const FileInfo &fileInfo); virtual std::vector GetRoots(); virtual int IsFileExist(const Uri &uri, bool &isExist); virtual int RegisterNotify(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 ff4e0872..5f43d198 100644 --- a/frameworks/innerkits/file_access/include/file_access_ext_proxy.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_proxy.h @@ -44,6 +44,7 @@ public: virtual int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) override; virtual std::vector ListFile(const Uri &sourceFile) override; + virtual std::vector File(const FileInfo &fileInfo) override; virtual std::vector GetRoots() override; virtual int IsFileExist(const Uri &uri, bool &isExist) override; virtual int RegisterNotify(sptr ¬ify) override; diff --git a/frameworks/innerkits/file_access/include/file_access_ext_stub.h b/frameworks/innerkits/file_access/include/file_access_ext_stub.h index 8893926e..20ae3dc8 100644 --- a/frameworks/innerkits/file_access/include/file_access_ext_stub.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_stub.h @@ -42,6 +42,7 @@ private: ErrCode CmdMove(MessageParcel &data, MessageParcel &reply); ErrCode CmdRename(MessageParcel &data, MessageParcel &reply); ErrCode CmdListFile(MessageParcel &data, MessageParcel &reply); + ErrCode CmdFile(MessageParcel &data, MessageParcel &reply); ErrCode CmdGetRoots(MessageParcel &data, MessageParcel &reply); ErrCode CmdIsFileExist(MessageParcel &data, MessageParcel &reply); ErrCode CmdRegisterNotify(MessageParcel &data, MessageParcel &reply); 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 d72745dd..a287c6f8 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 @@ -41,6 +41,7 @@ public: 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 File(const FileInfo &fileInfo) override; std::vector GetRoots() override; int IsFileExist(const Uri &uri, bool &isExist) override; int RegisterNotify(sptr ¬ify) override; diff --git a/frameworks/innerkits/file_access/include/file_access_extension_info.h b/frameworks/innerkits/file_access/include/file_access_extension_info.h index ab4719db..a3e3f745 100644 --- a/frameworks/innerkits/file_access/include/file_access_extension_info.h +++ b/frameworks/innerkits/file_access/include/file_access_extension_info.h @@ -34,8 +34,12 @@ enum DeviceType { DEVICE_EXTERNAL_CLOUD // Cloud disk device }; -struct FileInfo : public virtual OHOS::Parcelable { +class FileInfo : public virtual OHOS::Parcelable { public: + FileInfo(){}; + FileInfo(Uri uri_, std::string fileName_, std::string mode_, int64_t size_, int64_t mtime_, std::string mimeType_) + :uri(uri_), fileName(fileName_) , mode(mode_) , size(size_) , mtime(mtime_), mimeType(mimeType_){}; + ~FileInfo(){}; Uri uri = Uri(""); std::string fileName; std::string mode; diff --git a/frameworks/innerkits/file_access/include/file_access_helper.h b/frameworks/innerkits/file_access/include/file_access_helper.h index 39a51bba..5e51c054 100644 --- a/frameworks/innerkits/file_access/include/file_access_helper.h +++ b/frameworks/innerkits/file_access/include/file_access_helper.h @@ -66,6 +66,7 @@ public: 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 File(FileInfo &fileInfo); std::vector GetRoots(); int On(std::shared_ptr &callback); int Off(); 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 63ab8bfd..4fd05e1e 100644 --- a/frameworks/innerkits/file_access/include/ifile_access_ext_base.h +++ b/frameworks/innerkits/file_access/include/ifile_access_ext_base.h @@ -43,7 +43,8 @@ public: CMD_GET_ROOTS, CMD_IS_FILE_EXIST, CMD_REGISTER_NOTIFY, - CMD_UNREGISTER_NOTIFY + CMD_UNREGISTER_NOTIFY, + CMD_FILE }; virtual int OpenFile(const Uri &uri, const int flags) = 0; @@ -54,6 +55,7 @@ public: virtual int Rename(const Uri &sourceFile, const std::string &displayName, Uri &newFile) = 0; virtual std::vector ListFile(const Uri &sourceFile) = 0; + virtual std::vector File(const FileInfo &fileInfo) = 0; virtual std::vector GetRoots() = 0; virtual int IsFileExist(const Uri &uri, bool &isExist) = 0; virtual int RegisterNotify(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 66d4a8f2..eae34b76 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 @@ -67,6 +67,7 @@ public: 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 File(const FileInfo &fileInfo) override; std::vector GetRoots() override; int IsFileExist(const Uri &uri, bool &isExist) override; 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 cc674d2b..cccbd38c 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp @@ -97,6 +97,12 @@ std::vector FileAccessExtAbility::ListFile(const Uri &sourceFile) return vec; } +std::vector FileAccessExtAbility::File(const FileInfo &fileInfo) +{ + std::vector vec; + return vec; +} + std::vector FileAccessExtAbility::GetRoots() { std::vector vec; 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 1f5d7370..f2f33150 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_proxy.cpp @@ -366,6 +366,45 @@ std::vector FileAccessExtProxy::ListFile(const Uri &sourceFile) return vec; } +std::vector FileAccessExtProxy::File(const FileInfo &fileInfo) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "File"); + std::vector vec; + MessageParcel data; + if (!data.WriteInterfaceToken(FileAccessExtProxy::GetDescriptor())) { + HILOG_ERROR("WriteInterfaceToken failed"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return vec; + } + + if (!data.WriteParcelable(&fileInfo)) { + HILOG_ERROR("fail to WriteParcelable fileInfo"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return vec; + } + + MessageParcel reply; + MessageOption option; + int32_t err = Remote()->SendRequest(CMD_FILE, data, reply, option); + if (err != NO_ERROR) { + HILOG_ERROR("fail to SendRequest. err: %{public}d", err); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return vec; + } + + 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); + } + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return vec; +} + std::vector FileAccessExtProxy::GetRoots() { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); 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 2884e2e7..78cfac0d 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_stub.cpp @@ -47,6 +47,7 @@ FileAccessExtStub::FileAccessExtStub() stubFuncMap_[CMD_MOVE] = &FileAccessExtStub::CmdMove; stubFuncMap_[CMD_RENAME] = &FileAccessExtStub::CmdRename; stubFuncMap_[CMD_LIST_FILE] = &FileAccessExtStub::CmdListFile; + stubFuncMap_[CMD_FILE] = &FileAccessExtStub::CmdFile; stubFuncMap_[CMD_GET_ROOTS] = &FileAccessExtStub::CmdGetRoots; stubFuncMap_[CMD_IS_FILE_EXIST] = &FileAccessExtStub::CmdIsFileExist; stubFuncMap_[CMD_REGISTER_NOTIFY] = &FileAccessExtStub::CmdRegisterNotify; @@ -364,6 +365,36 @@ ErrCode FileAccessExtStub::CmdListFile(MessageParcel &data, MessageParcel &reply return ERR_OK; } +ErrCode FileAccessExtStub::CmdFile(MessageParcel &data, MessageParcel &reply) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdListFile"); + std::shared_ptr fileInfo(data.ReadParcelable()); + if (fileInfo == nullptr) { + HILOG_ERROR("parameter File uri is nullptr"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_INVALID_URI; + } + + std::vector vec = File(*fileInfo); + uint64_t count {vec.size()}; + if (!reply.WriteUint64(count)) { + HILOG_ERROR("parameter ListFile fail to WriteInt32 count"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_IPC_ERROR; + } + + for (uint64_t i = 0; i < count; i++) { + if (!reply.WriteParcelable(&vec[i])) { + HILOG_ERROR("parameter ListFile fail to WriteParcelable vec"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_IPC_ERROR; + } + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return ERR_OK; +} + ErrCode FileAccessExtStub::CmdGetRoots(MessageParcel &data, MessageParcel &reply) { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "CmdGetRoots"); 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 473747d3..534e1334 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 @@ -125,6 +125,21 @@ std::vector FileAccessExtStubImpl::ListFile(const Uri &sourceFile) return vec; } +std::vector FileAccessExtStubImpl::File(const FileInfo &fileInfo) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "ListFile"); + std::vector vec; + if (extension_ == nullptr) { + HILOG_ERROR("ListFile get extension failed."); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return vec; + } + + vec = extension_->File(fileInfo); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return vec; +} + std::vector FileAccessExtStubImpl::GetRoots() { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); diff --git a/frameworks/innerkits/file_access/src/file_access_helper.cpp b/frameworks/innerkits/file_access/src/file_access_helper.cpp index c662d2ac..573423a7 100644 --- a/frameworks/innerkits/file_access/src/file_access_helper.cpp +++ b/frameworks/innerkits/file_access/src/file_access_helper.cpp @@ -494,6 +494,21 @@ std::vector FileAccessHelper::ListFile(Uri &sourceFile) return results; } +std::vector FileAccessHelper::File(FileInfo &fileInfo) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "ListFile"); + std::vector results; + sptr fileExtProxy = GetProxyByUri(fileInfo.uri); + if (fileExtProxy == nullptr) { + HILOG_ERROR("failed with invalid fileAccessExtProxy"); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return results; + } + results = fileExtProxy->File(fileInfo); + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return results; +} + std::vector FileAccessHelper::GetRoots() { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); 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 a6e31e74..f45a524b 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 @@ -687,6 +687,58 @@ std::vector JsFileAccessExtAbility::ListFile(const Uri &sourceFile) return value->data; } +std::vector JsFileAccessExtAbility::File(const FileInfo &fileInfo) +{ + StartTrace(HITRACE_TAG_FILEMANAGEMENT, "File"); + auto value = std::make_shared>>(); + auto argParser = [fileInfo](NativeEngine &engine, NativeValue *argv[], size_t &argc) -> bool { + NativeValue *uri = engine.CreateString(fileInfo.uri.ToString().c_str(), fileInfo.uri.ToString().length()); + if (uri == nullptr) { + HILOG_ERROR("create sourceFile uri native js value fail."); + return false; + } + argv[ARGC_ZERO] = uri; + argc = ARGC_ONE; + return true; + }; + auto retParser = [value](NativeEngine &engine, NativeValue *result) -> bool { + NativeObject *obj = ConvertNativeValueTo(result); + bool ret = ConvertFromJsValue(engine, obj->GetProperty("code"), value->code); + NativeArray *nativeArray = ConvertNativeValueTo(obj->GetProperty("infos")); + for (uint32_t i = 0; i < nativeArray->GetLength(); i++) { + NativeValue *nativeFileInfo = nativeArray->GetElement(i); + obj = ConvertNativeValueTo(nativeFileInfo); + FileInfo fileInfo; + std::string uri; + ret = ret && ConvertFromJsValue(engine, obj->GetProperty("uri"), uri); + fileInfo.uri = Uri(uri); + ret = ret && ConvertFromJsValue(engine, obj->GetProperty("fileName"), fileInfo.fileName); + ret = ret && ConvertFromJsValue(engine, obj->GetProperty("mode"), fileInfo.mode); + ret = ret && ConvertFromJsValue(engine, obj->GetProperty("size"), fileInfo.size); + ret = ret && ConvertFromJsValue(engine, obj->GetProperty("mtime"), fileInfo.mtime); + ret = ret && ConvertFromJsValue(engine, obj->GetProperty("mimeType"), fileInfo.mimeType); + if (!ret) { + HILOG_ERROR("Convert js value fail."); + return ret; + } + (value->data).emplace_back(std::move(fileInfo)); + } + return true; + }; + + auto errCode = CallJsMethod("listFile", jsRuntime_, jsObj_.get(), argParser, retParser); + if (errCode != ERR_OK) { + HILOG_ERROR("CallJsMethod error, code:%{public}d.", errCode); + } + + if (value->code != ERR_OK) { + HILOG_ERROR("fileio fail."); + } + + FinishTrace(HITRACE_TAG_FILEMANAGEMENT); + return value->data; +} + std::vector JsFileAccessExtAbility::GetRoots() { StartTrace(HITRACE_TAG_FILEMANAGEMENT, "GetRoots"); 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 8d24febd..72431812 100644 --- a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp +++ b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp @@ -210,7 +210,8 @@ napi_value FileAccessHelperInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("getRoots", NAPI_GetRoots), DECLARE_NAPI_FUNCTION("isFileExist", NAPI_IsFileExist), DECLARE_NAPI_FUNCTION("on", NAPI_On), - DECLARE_NAPI_FUNCTION("off", NAPI_Off) + DECLARE_NAPI_FUNCTION("off", NAPI_Off), + DECLARE_NAPI_FUNCTION("file", NAPI_File), }; napi_value cons = nullptr; NAPI_CALL(env, @@ -637,6 +638,112 @@ napi_value NAPI_ListFile(napi_env env, napi_callback_info info) return NAsyncWorkCallback(env, thisVar, cb).Schedule(procedureName, cbExec, cbComplete).val_; } +std::tuple> GetFileInfo(napi_env env, NFuncArg &funcArg) +{ + bool ret = false; + NVal argv(env, funcArg[NARG_POS::FIRST]); + std::unique_ptr uri; + if (argv.HasProp("uri")) { + std::tie(ret, uri, std::ignore) = argv.GetProp("uri").ToUTF8String(); + } + std::unique_ptr fileName; + if (argv.HasProp("fileName")) { + + std::tie(ret, fileName, std::ignore) = argv.GetProp("fileName").ToUTF8String(); + if (!ret) { + return {false, nullptr}; + } + } + + std::unique_ptr mode; + if (argv.HasProp("mode")) { + std::tie(ret, mode, std::ignore) = argv.GetProp("mode").ToUTF8String(); + if (!ret) { + return {false, nullptr}; + } + } + + int64_t size; + if (argv.HasProp("size")) { + std::tie(ret, size) = argv.GetProp("size").ToInt64(); + if (!ret) { + return {false, nullptr}; + } + } + + int64_t mtime; + if (argv.HasProp("mtime")) { + std::tie(ret, mtime) = argv.GetProp("mtime").ToInt64(); + if (!ret) { + return {false, nullptr}; + } + } + + std::unique_ptr mimeType; + if (argv.HasProp("mimeType")) { + std::tie(ret, mimeType, std::ignore) = argv.GetProp("mimeType").ToUTF8String(); + if (!ret) { + return {false, nullptr}; + } + } + + string uriString(uri.get()); + OHOS::Uri uri1(uriString); + string fileNameString(fileName.get()); + string modeString(mode.get()); + string mimeTypeString(mimeType.get()); + + std::shared_ptr fileInfo = std::make_shared(uri1, fileNameString, modeString, size, mtime, mimeTypeString); + return {true, fileInfo}; +} + +napi_value NAPI_File(napi_env env, napi_callback_info info) +{ + NFuncArg funcArg(env, info); + if (!funcArg.InitArgs(NARG_CNT::ONE, NARG_CNT::TWO)) { + NapiError(ERR_PARAM_NUMBER).ThrowErr(env); + return nullptr; + } + + bool succ = false; + std::shared_ptr fileInfo; + std::tie(succ, fileInfo) = GetFileInfo(env, funcArg); + if (!succ) { + NapiError(ERR_INVALID_PARAM).ThrowErr(env); + return nullptr; + } + + FileAccessHelper *fileAccessHelper = GetFileAccessHelper(env, funcArg.GetThisVar()); + if (fileAccessHelper == nullptr) { + return nullptr; + } + + auto result = std::make_shared>(); + // FileInfo file = *fileInfo; + auto cbExec = [fileInfo, result, fileAccessHelper]() -> NError { + *result = fileAccessHelper->File(*fileInfo); + return NError(ERRNO_NOERR); + }; + auto cbComplete = [result](napi_env env, NError err) -> NVal { + if (err) { + return { env, err.GetNapiErr(env) }; + } + napi_value jsArray = WrapArrayFileInfoToJS(env, *result); + return {env, jsArray}; + }; + + const std::string procedureName = "file"; + NVal thisVar(env, funcArg.GetThisVar()); + if (funcArg.GetArgc() == NARG_CNT::ONE) { + return NAsyncWorkPromise(env, thisVar).Schedule(procedureName, cbExec, cbComplete).val_; + } + NVal cb(env, funcArg[NARG_POS::SECOND]); + if (!cb.TypeIs(napi_function)) { + NapiError(ERR_INVALID_PARAM).ThrowErr(env); + return nullptr; + } + return NAsyncWorkCallback(env, thisVar, cb).Schedule(procedureName, cbExec, cbComplete).val_; +} napi_value NAPI_GetRoots(napi_env env, napi_callback_info info) { NFuncArg funcArg(env, info); diff --git a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.h b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.h index b0ec4e81..c8f49c9f 100644 --- a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.h +++ b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.h @@ -31,6 +31,7 @@ namespace FileAccessFwk { napi_value NAPI_Move(napi_env env, napi_callback_info info); napi_value NAPI_Rename(napi_env env, napi_callback_info info); napi_value NAPI_ListFile(napi_env env, napi_callback_info info); + napi_value NAPI_File(napi_env env, napi_callback_info info); napi_value NAPI_GetRoots(napi_env env, napi_callback_info info); napi_value NAPI_IsFileExist(napi_env env, napi_callback_info info); napi_value NAPI_On(napi_env env, napi_callback_info info); -- Gitee From bcf34cf4fba29ca3be1e4739fb62431beef06708 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Wed, 17 Aug 2022 15:19:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9codecheck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangjianqiang --- .../file_access/include/file_access_extension_info.h | 6 +++--- .../kits/napi/file_access_module/napi_fileaccess_helper.cpp | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/frameworks/innerkits/file_access/include/file_access_extension_info.h b/frameworks/innerkits/file_access/include/file_access_extension_info.h index a3e3f745..952f4da5 100644 --- a/frameworks/innerkits/file_access/include/file_access_extension_info.h +++ b/frameworks/innerkits/file_access/include/file_access_extension_info.h @@ -36,10 +36,10 @@ enum DeviceType { class FileInfo : public virtual OHOS::Parcelable { public: - FileInfo(){}; + FileInfo() {}; FileInfo(Uri uri_, std::string fileName_, std::string mode_, int64_t size_, int64_t mtime_, std::string mimeType_) - :uri(uri_), fileName(fileName_) , mode(mode_) , size(size_) , mtime(mtime_), mimeType(mimeType_){}; - ~FileInfo(){}; + :uri(uri_), fileName(fileName_) , mode(mode_) , size(size_) , mtime(mtime_), mimeType(mimeType_) {}; + ~FileInfo() {}; Uri uri = Uri(""); std::string fileName; std::string mode; 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 72431812..76356088 100644 --- a/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp +++ b/interfaces/kits/napi/file_access_module/napi_fileaccess_helper.cpp @@ -211,7 +211,7 @@ napi_value FileAccessHelperInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("isFileExist", NAPI_IsFileExist), DECLARE_NAPI_FUNCTION("on", NAPI_On), DECLARE_NAPI_FUNCTION("off", NAPI_Off), - DECLARE_NAPI_FUNCTION("file", NAPI_File), + DECLARE_NAPI_FUNCTION("file", NAPI_File), }; napi_value cons = nullptr; NAPI_CALL(env, @@ -648,7 +648,6 @@ std::tuple> GetFileInfo(napi_env env, NFuncArg & } std::unique_ptr fileName; if (argv.HasProp("fileName")) { - std::tie(ret, fileName, std::ignore) = argv.GetProp("fileName").ToUTF8String(); if (!ret) { return {false, nullptr}; @@ -719,7 +718,6 @@ napi_value NAPI_File(napi_env env, napi_callback_info info) } auto result = std::make_shared>(); - // FileInfo file = *fileInfo; auto cbExec = [fileInfo, result, fileAccessHelper]() -> NError { *result = fileAccessHelper->File(*fileInfo); return NError(ERRNO_NOERR); -- Gitee