From d5ac9dfc471244393883b7ca776bc679265b180c Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Mon, 20 Jun 2022 16:43:46 +0800 Subject: [PATCH 01/15] add file access framework Signed-off-by: wangjianqiang --- bundle.json | 4 +- frameworks/innerkits/BUILD.gn | 21 +++ frameworks/innerkits/file_access/BUILD.gn | 111 +++++++++++++ .../file_access/include/file_ext_ability.h | 46 +++++ .../include/file_ext_ability_module_loader.h | 32 ++++ .../file_access/include/js_file_ext_ability.h | 53 ++++++ .../file_access/src/file_ext_ability.cpp | 67 ++++++++ .../src/file_ext_ability_module_loader.cpp | 41 +++++ .../file_access/src/js_file_ext_ability.cpp | 157 ++++++++++++++++++ .../kits/napi/file_ext_ability/BUILD.gn | 50 ++++++ .../napi/file_ext_ability/file_ext_ability.js | 21 +++ .../file_ext_ability_module.cpp | 57 +++++++ utils/hilog_wrapper.h | 81 +++++++++ 13 files changed, 740 insertions(+), 1 deletion(-) create mode 100644 frameworks/innerkits/BUILD.gn create mode 100644 frameworks/innerkits/file_access/BUILD.gn create mode 100644 frameworks/innerkits/file_access/include/file_ext_ability.h create mode 100644 frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h create mode 100644 frameworks/innerkits/file_access/include/js_file_ext_ability.h create mode 100644 frameworks/innerkits/file_access/src/file_ext_ability.cpp create mode 100644 frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp create mode 100644 frameworks/innerkits/file_access/src/js_file_ext_ability.cpp create mode 100644 interfaces/kits/napi/file_ext_ability/BUILD.gn create mode 100644 interfaces/kits/napi/file_ext_ability/file_ext_ability.js create mode 100644 interfaces/kits/napi/file_ext_ability/file_ext_ability_module.cpp create mode 100644 utils/hilog_wrapper.h diff --git a/bundle.json b/bundle.json index 1b615582..c8dc5f1a 100644 --- a/bundle.json +++ b/bundle.json @@ -36,7 +36,9 @@ "sub_component": [ "//foundation/filemanagement/user_file_service/services:fms", "//foundation/filemanagement/user_file_service/services/sa_profile:filemanager_service_sa_profile", - "//foundation/filemanagement/user_file_service/interfaces/kits/js:filemanager" + "//foundation/filemanagement/user_file_service/interfaces/kits/js:filemanager", + "//foundation/filemanagement/user_file_service/frameworks/innerkits:frameworks_innerkits", + "//foundation/filemanagement/user_file_service/interfaces/kits/napi/file_ext_ability:fileextensionability_napi" ], "test": [ "//foundation/filemanagement/user_file_service/services/test:user_file_manager_test" diff --git a/frameworks/innerkits/BUILD.gn b/frameworks/innerkits/BUILD.gn new file mode 100644 index 00000000..78788ce7 --- /dev/null +++ b/frameworks/innerkits/BUILD.gn @@ -0,0 +1,21 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") + +group("frameworks_innerkits") { + deps = [ + "file_access:file_extension_ability_kit", + "file_access:file_extension_ability_module", + ] +} \ No newline at end of file diff --git a/frameworks/innerkits/file_access/BUILD.gn b/frameworks/innerkits/file_access/BUILD.gn new file mode 100644 index 00000000..c57774f1 --- /dev/null +++ b/frameworks/innerkits/file_access/BUILD.gn @@ -0,0 +1,111 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") +import("//foundation/filemanagement/user_file_service/filemanagement_aafwk.gni") + +BASE_DIR = "//foundation/filemanagement/user_file_service" + +config("ability_config") { + visibility = [ ":*" ] + include_dirs = [ + "include", + "${BASE_DIR}/utils", + "${aafwk_services_path}/common/include", + "${aafwk_kits_path}/ability/native/include/continuation/distributed", + "${aafwk_kits_path}/ability/native/include/continuation/kits", + "${aafwk_kits_path}/appkit/native/app/include", + "${aafwk_path}/frameworks/js/napi/aafwk/inner/napi_common", + "//foundation/appexecfwk/standard/interfaces/innerkits/appexecfwk_base/include", + ] + + cflags = [] + if (target_cpu == "arm") { + cflags += [ "-DBINDER_IPC_32BIT" ] + } +} + +config("ability_public_config") { + visibility = [ ":*" ] + include_dirs = [ + "include", + "${BASE_DIR}/utils", + "${aafwk_kits_path}/appkit/native/ability_runtime/app", + "${aafwk_kits_path}/appkit/native/app/include", + "${aafwk_kits_path}/appkit/native/ability_runtime/context", + ] +} + +ohos_shared_library("file_extension_ability_kit") { + include_dirs = [] + + sources = [ + "src/file_ext_ability.cpp", + "src/js_file_ext_ability.cpp", + ] + configs = [ ":ability_config" ] + public_configs = [ + ":ability_public_config", + "${aafwk_kits_path}/ability/ability_runtime:ability_context_public_config", + ] + + deps = [ + "${aafwk_kits_path}/ability/native:abilitykit_native", + "${aafwk_kits_path}/appkit:app_context", + ] + + external_deps = [ + "ability_base:want", + "ability_base:zuri", + "ability_runtime:ability_context_native", + "ability_runtime:ability_manager", + "ability_runtime:app_manager", + "ability_runtime:runtime", + "ability_runtime:wantagent_innerkits", + "access_token:libaccesstoken_sdk", + "ipc:ipc_core", + "ipc_js:rpc", + "permission_standard:libpermissionsdk_standard", + "utils_base:utils", + ] + + public_deps = [ + "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog", + "//foundation/arkui/napi:ace_napi", + ] + + subsystem_name = "filemanagement" + part_name = "user_file_service" +} + +ohos_shared_library("file_extension_ability_module") { + sources = [ "src/file_ext_ability_module_loader.cpp" ] + + configs = [ ":ability_config" ] + public_configs = [ ":ability_public_config" ] + + deps = [ + ":file_extension_ability_kit", + "${aafwk_kits_path}/ability/native:abilitykit_native", + ] + + external_deps = [ + "ability_base:want", + "ability_runtime:runtime", + "hiviewdfx_hilog_native:libhilog", + "utils_base:utils", + ] + + subsystem_name = "filemanagement" + part_name = "user_file_service" +} \ No newline at end of file diff --git a/frameworks/innerkits/file_access/include/file_ext_ability.h b/frameworks/innerkits/file_access/include/file_ext_ability.h new file mode 100644 index 00000000..b099e5b5 --- /dev/null +++ b/frameworks/innerkits/file_access/include/file_ext_ability.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FILE_EXT_ABILITY_H +#define FILE_EXT_ABILITY_H + +#include "extension_base.h" + +namespace OHOS { +namespace AbilityRuntime { +class Runtime; +} +namespace FileAccessFwk { +using namespace AbilityRuntime; +class FileExtAbility; +using CreatorFunc = std::function& runtime)>; +class FileExtAbility : public ExtensionBase<> { +public: + FileExtAbility() = default; + virtual ~FileExtAbility() = default; + + virtual void Init(const std::shared_ptr &record, + const std::shared_ptr &application, + std::shared_ptr &handler, + const sptr &token) override; + + static FileExtAbility* Create(const std::unique_ptr& runtime); + static void SetCreator(const CreatorFunc& creator); +private: + static CreatorFunc creator_; +}; +} // namespace FileAccessFwk +} // namespace OHOS +#endif // FILE_EXT_ABILITY_H \ No newline at end of file diff --git a/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h b/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h new file mode 100644 index 00000000..b187cd9f --- /dev/null +++ b/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef FILE_EXT_ABILITY_MODULE_LOADER_H +#define FILE_EXT_ABILITY_MODULE_LOADER_H + +#include "extension_module_loader.h" +namespace OHOS { +namespace FileAccessFwk { +using namespace AbilityRuntime; +class FileExtAbilityModuleLoader : public ExtensionModuleLoader, + public Singleton { + DECLARE_SINGLETON(FileExtAbilityModuleLoader); + +public: + virtual Extension *Create(const std::unique_ptr& runtime) const override; +}; +} // namespace FileAccessFwk +} // namespace OHOS +#endif // FILE_EXT_ABILITY_MODULE_LOADER_H \ No newline at end of file diff --git a/frameworks/innerkits/file_access/include/js_file_ext_ability.h b/frameworks/innerkits/file_access/include/js_file_ext_ability.h new file mode 100644 index 00000000..662a7f08 --- /dev/null +++ b/frameworks/innerkits/file_access/include/js_file_ext_ability.h @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef JS_FILE_EXT_ABILITY_H +#define JS_FILE_EXT_ABILITY_H + +#include "file_ext_ability.h" + +#include "js_runtime.h" +#include "native_engine/native_reference.h" +#include "native_engine/native_value.h" + +namespace OHOS { +namespace FileAccessFwk { +using namespace AbilityRuntime; +class JsFileExtAbility : public FileExtAbility { +public: + JsFileExtAbility(JsRuntime& jsRuntime); + virtual ~JsFileExtAbility() override; + + static JsFileExtAbility* Create(const std::unique_ptr& runtime); + + void Init(const std::shared_ptr &record, + const std::shared_ptr &application, + std::shared_ptr &handler, + const sptr &token) override; + + void OnStart(const AAFwk::Want &want) override; + + sptr OnConnect(const AAFwk::Want &want) override; + +private: + NativeValue* CallObjectMethod(const char *name, NativeValue * const *argv = nullptr, size_t argc = 0); + void GetSrcPath(std::string &srcPath); + + JsRuntime& jsRuntime_; + std::unique_ptr jsObj_; +}; +} // namespace FileAccessFwk +} // namespace OHOS +#endif // JS_FILE_EXT_ABILITY_H \ No newline at end of file diff --git a/frameworks/innerkits/file_access/src/file_ext_ability.cpp b/frameworks/innerkits/file_access/src/file_ext_ability.cpp new file mode 100644 index 00000000..97a46201 --- /dev/null +++ b/frameworks/innerkits/file_access/src/file_ext_ability.cpp @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "file_ext_ability.h" + +#include "ability_loader.h" +#include "connection_manager.h" +#include "extension_context.h" +#include "hilog_wrapper.h" +#include "js_file_ext_ability.h" +#include "runtime.h" + +namespace OHOS { +namespace FileAccessFwk { +using namespace OHOS::AppExecFwk; + +CreatorFunc FileExtAbility::creator_ = nullptr; +void FileExtAbility::SetCreator(const CreatorFunc& creator) +{ + creator_ = creator; +} + +FileExtAbility* FileExtAbility::Create(const std::unique_ptr& runtime) +{ + HILOG_INFO("%{public}s begin.", __func__); + if (!runtime) { + return new FileExtAbility(); + } + if (creator_) { + return creator_(runtime); + } + HILOG_INFO("%{public}s runtime", __func__); + switch (runtime->GetLanguage()) { + case Runtime::Language::JS: + HILOG_INFO("%{public}s Runtime::Language::JS --> JsFileExtAbility", __func__); + return JsFileExtAbility::Create(runtime); + + default: + HILOG_INFO("%{public}s default --> FileExtAbility", __func__); + return new FileExtAbility(); + } + HILOG_INFO("%{public}s begin.", __func__); +} + +void FileExtAbility::Init(const std::shared_ptr &record, + const std::shared_ptr &application, + std::shared_ptr &handler, + const sptr &token) +{ + HILOG_INFO("%{public}s begin.", __func__); + ExtensionBase<>::Init(record, application, handler, token); + HILOG_INFO("%{public}s end.", __func__); +} +} // namespace FileAccessFwk +} // namespace OHOS \ No newline at end of file diff --git a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp new file mode 100644 index 00000000..91f9d93f --- /dev/null +++ b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "file_ext_ability_module_loader.h" +#include "file_ext_ability.h" + +namespace OHOS { +namespace FileAccessFwk { +FileExtAbilityModuleLoader::FileExtAbilityModuleLoader() = default; +FileExtAbilityModuleLoader::~FileExtAbilityModuleLoader() = default; + +Extension *FileExtAbilityModuleLoader::Create(const std::unique_ptr& runtime) const +{ + HILOG_INFO("tag dsa %{public}s begin.", __func__); + return FileExtAbility::Create(runtime); +} + +extern "C" __attribute__((visibility("default"))) void* OHOS_EXTENSION_GetExtensionModule() +{ + HILOG_INFO("tag dsa %{public}s begin.", __func__); + return &FileExtAbilityModuleLoader::GetInstance(); +} + +extern "C" __attribute__((visibility("default"))) void SetCreator(const CreatorFunc& creator) +{ + return FileExtAbility::SetCreator(creator); +} +} // namespace FileAccessFwk +} // namespace OHOS \ No newline at end of file diff --git a/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp b/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp new file mode 100644 index 00000000..b96b3253 --- /dev/null +++ b/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "js_file_ext_ability.h" + +#include "extension_context.h" +#include "ability_info.h" +#include "accesstoken_kit.h" +#include "hilog_wrapper.h" +#include "ipc_skeleton.h" +#include "js_runtime.h" +#include "js_runtime_utils.h" +#include "napi/native_api.h" +#include "napi/native_node_api.h" +#include "napi_common_util.h" +#include "napi_common_want.h" +#include "napi_remote_object.h" + +namespace OHOS { +namespace FileAccessFwk { +namespace { +constexpr size_t ARGC_ONE = 1; +} + +using namespace OHOS::AppExecFwk; +using namespace OHOS::AbilityRuntime; +using OHOS::Security::AccessToken::AccessTokenKit; + +JsFileExtAbility* JsFileExtAbility::Create(const std::unique_ptr& runtime) +{ + HILOG_INFO("%{public}s begin.", __func__); + HILOG_INFO("%{public}s end.", __func__); + return new JsFileExtAbility(static_cast(*runtime)); +} + +JsFileExtAbility::JsFileExtAbility(JsRuntime& jsRuntime) : jsRuntime_(jsRuntime) {} +JsFileExtAbility::~JsFileExtAbility() = default; + +void JsFileExtAbility::Init(const std::shared_ptr &record, + const std::shared_ptr &application, std::shared_ptr &handler, + const sptr &token) +{ + HILOG_INFO("%{public}s begin.", __func__); + FileExtAbility::Init(record, application, handler, token); + std::string srcPath = ""; + GetSrcPath(srcPath); + if (srcPath.empty()) { + HILOG_ERROR("%{public}s Failed to get srcPath", __func__); + return; + } + + std::string moduleName(Extension::abilityInfo_->moduleName); + moduleName.append("::").append(abilityInfo_->name); + HILOG_INFO("%{public}s module:%{public}s, srcPath:%{public}s.", + __func__, moduleName.c_str(), srcPath.c_str()); + HandleScope handleScope(jsRuntime_); + + jsObj_ = jsRuntime_.LoadModule(moduleName, srcPath); + if (jsObj_ == nullptr) { + HILOG_ERROR("%{public}s Failed to get jsObj_", __func__); + return; + } + HILOG_INFO("%{public}s ConvertNativeValueTo.", __func__); + NativeObject* obj = ConvertNativeValueTo(jsObj_->Get()); + if (obj == nullptr) { + HILOG_ERROR("%{public}s Failed to get JsFileExtAbility object", __func__); + return; + } + HILOG_INFO("%{public}s end.", __func__); +} + +void JsFileExtAbility::OnStart(const AAFwk::Want &want) +{ + HILOG_INFO("%{public}s begin.", __func__); + Extension::OnStart(want); + HandleScope handleScope(jsRuntime_); + napi_env env = reinterpret_cast(&jsRuntime_.GetNativeEngine()); + napi_value napiWant = OHOS::AppExecFwk::WrapWant(env, want); + NativeValue* nativeWant = reinterpret_cast(napiWant); + NativeValue* argv[] = {nativeWant}; + CallObjectMethod("onCreate", argv, ARGC_ONE); + HILOG_INFO("%{public}s end.", __func__); +} + +sptr JsFileExtAbility::OnConnect(const AAFwk::Want &want) +{ + HILOG_INFO("%{public}s begin.", __func__); + Extension::OnConnect(want); + HILOG_INFO("%{public}s end. ", __func__); + return nullptr; +} + +NativeValue* JsFileExtAbility::CallObjectMethod(const char* name, NativeValue* const* argv, size_t argc) +{ + HILOG_INFO("%{public}s name = %{public}s, begin", __func__, name); + + if (!jsObj_) { + HILOG_WARN("%{public}s Not found FileExtAbility.js", __func__); + return nullptr; + } + + HandleScope handleScope(jsRuntime_); + auto& nativeEngine = jsRuntime_.GetNativeEngine(); + + NativeValue* value = jsObj_->Get(); + NativeObject* obj = ConvertNativeValueTo(value); + if (obj == nullptr) { + HILOG_ERROR("%{public}s Failed to get FileExtAbility object", __func__); + return nullptr; + } + + NativeValue* method = obj->GetProperty(name); + if (method == nullptr) { + HILOG_ERROR("%{public}s Failed to get '%{public}s' from FileExtAbility object", __func__, name); + return nullptr; + } + HILOG_INFO("%{public}s, name = %{public}s, success", __func__, name); + return handleScope.Escape(nativeEngine.CallFunction(value, method, argv, argc)); +} + +void JsFileExtAbility::GetSrcPath(std::string &srcPath) +{ + HILOG_INFO("%{public}s begin.", __func__); + if (!Extension::abilityInfo_->isStageBasedModel) { + /* temporary compatibility api8 + config.json */ + srcPath.append(Extension::abilityInfo_->package); + srcPath.append("/assets/js/"); + if (!Extension::abilityInfo_->srcPath.empty()) { + srcPath.append(Extension::abilityInfo_->srcPath); + } + srcPath.append("/").append(Extension::abilityInfo_->name).append(".abc"); + HILOG_INFO("%{public}s end1, srcPath:%{public}s", __func__, srcPath.c_str()); + return; + } + + if (!Extension::abilityInfo_->srcEntrance.empty()) { + srcPath.append(Extension::abilityInfo_->moduleName + "/"); + srcPath.append(Extension::abilityInfo_->srcEntrance); + srcPath.erase(srcPath.rfind('.')); + srcPath.append(".abc"); + } + HILOG_INFO("%{public}s end2, srcPath:%{public}s", __func__, srcPath.c_str()); +} +} // namespace FileAccessFwk +} // namespace OHOS \ No newline at end of file diff --git a/interfaces/kits/napi/file_ext_ability/BUILD.gn b/interfaces/kits/napi/file_ext_ability/BUILD.gn new file mode 100644 index 00000000..b42b2ad5 --- /dev/null +++ b/interfaces/kits/napi/file_ext_ability/BUILD.gn @@ -0,0 +1,50 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//ark/ts2abc/ts2panda/ts2abc_config.gni") +import("//build/ohos.gni") + +ts2abc_gen_abc("gen_file_ext_ability_abc") { + src_js = rebase_path("file_ext_ability.js") + dst_file = rebase_path(target_out_dir + "/file_ext_ability.abc") + in_puts = [ "file_ext_ability.js" ] + out_puts = [ target_out_dir + "/file_ext_ability.abc" ] + extra_args = [ "--module" ] +} + +gen_js_obj("file_ext_ability_js") { + input = "file_ext_ability.js" + output = target_out_dir + "/file_ext_ability.o" +} + +gen_js_obj("file_ext_ability_abc") { + input = get_label_info(":gen_file_ext_ability_abc", "target_out_dir") + + "/file_ext_ability.abc" + output = target_out_dir + "/file_ext_ability_abc.o" + dep = ":gen_file_ext_ability_abc" +} + +ohos_shared_library("fileextensionability_napi") { + sources = [ "file_ext_ability_module.cpp" ] + + deps = [ + ":file_ext_ability_abc", + ":file_ext_ability_js", + ] + + external_deps = [ "napi:ace_napi" ] + + relative_install_dir = "module/application" + subsystem_name = "filemanagement" + part_name = "user_file_service" +} \ No newline at end of file diff --git a/interfaces/kits/napi/file_ext_ability/file_ext_ability.js b/interfaces/kits/napi/file_ext_ability/file_ext_ability.js new file mode 100644 index 00000000..d649902b --- /dev/null +++ b/interfaces/kits/napi/file_ext_ability/file_ext_ability.js @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +class FileExtensionAbility { + onCreate(want) { + } +} + +export default FileExtensionAbility \ No newline at end of file diff --git a/interfaces/kits/napi/file_ext_ability/file_ext_ability_module.cpp b/interfaces/kits/napi/file_ext_ability/file_ext_ability_module.cpp new file mode 100644 index 00000000..6dca96b5 --- /dev/null +++ b/interfaces/kits/napi/file_ext_ability/file_ext_ability_module.cpp @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "native_engine/native_engine.h" + +extern const char _binary_file_ext_ability_js_start[]; +extern const char _binary_file_ext_ability_js_end[]; +extern const char _binary_file_ext_ability_abc_start[]; +extern const char _binary_file_ext_ability_abc_end[]; + +extern "C" __attribute__((constructor)) +void NAPI_application_FileExtensionAbility_AutoRegister() +{ + auto moduleManager = NativeModuleManager::GetInstance(); + NativeModule newModuleInfo = { + .name = "application.FileExtensionAbility", + .fileName = "application/libfileextensionability_napi.so/FileExtensionAbility.js", + }; + + moduleManager->Register(&newModuleInfo); +} + +extern "C" __attribute__((visibility("default"))) +void NAPI_application_FileExtensionAbility_GetJSCode(const char **buf, int *bufLen) +{ + if (buf != nullptr) { + *buf = _binary_file_ext_ability_js_start; + } + + if (bufLen != nullptr) { + *bufLen = _binary_file_ext_ability_js_end - _binary_file_ext_ability_js_start; + } +} + +// file extension ability JS register +extern "C" __attribute__((visibility("default"))) +void NAPI_application_FileExtensionAbility_GetABCCode(const char **buf, int *buflen) +{ + if (buf != nullptr) { + *buf = _binary_file_ext_ability_abc_start; + } + if (buflen != nullptr) { + *buflen = _binary_file_ext_ability_abc_end - _binary_file_ext_ability_abc_start; + } +} \ No newline at end of file diff --git a/utils/hilog_wrapper.h b/utils/hilog_wrapper.h new file mode 100644 index 00000000..6df10f62 --- /dev/null +++ b/utils/hilog_wrapper.h @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef HILOG_WRAPPER_H +#define HILOG_WRAPPER_H + +#define CONFIG_HILOG +#ifdef CONFIG_HILOG +#include "hilog/log.h" + +#ifdef HILOG_FATAL +#undef HILOG_FATAL +#endif + +#ifdef HILOG_ERROR +#undef HILOG_ERROR +#endif + +#ifdef HILOG_WARN +#undef HILOG_WARN +#endif + +#ifdef HILOG_INFO +#undef HILOG_INFO +#endif + +#ifdef HILOG_DEBUG +#undef HILOG_DEBUG +#endif + +#ifndef FAF_LOG_DOMAIN +#define FAF_LOG_DOMAIN 0xD00430A +#endif + +#ifndef FAF_LOG_TAG +#define FAF_LOG_TAG "FileAccessFwk" +#endif + +#ifdef LOG_LABEL +#undef LOG_LABEL +#endif + +static constexpr OHOS::HiviewDFX::HiLogLabel LOG_LABEL = {LOG_CORE, FAF_LOG_DOMAIN, FAF_LOG_TAG}; + +#define HILOG_FATAL(fmt, ...) \ + (void)OHOS::HiviewDFX::HiLog::Fatal( \ + LOG_LABEL, "[(%{public}s:%{public}d)]" fmt, __FUNCTION__, __LINE__, ##__VA_ARGS__) +#define HILOG_ERROR(fmt, ...) \ + (void)OHOS::HiviewDFX::HiLog::Error( \ + LOG_LABEL, "[(%{public}s:%{public}d)]" fmt, __FUNCTION__, __LINE__, ##__VA_ARGS__) +#define HILOG_WARN(fmt, ...) \ + (void)OHOS::HiviewDFX::HiLog::Warn( \ + LOG_LABEL, "[(%{public}s:%{public}d)]" fmt, __FUNCTION__, __LINE__, ##__VA_ARGS__) +#define HILOG_INFO(fmt, ...) \ + (void)OHOS::HiviewDFX::HiLog::Info( \ + LOG_LABEL, "[(%{public}s:%{public}d)]" fmt, __FUNCTION__, __LINE__, ##__VA_ARGS__) +#define HILOG_DEBUG(fmt, ...) \ + (void)OHOS::HiviewDFX::HiLog::Debug( \ + LOG_LABEL, "[(%{public}s:%{public}d)]" fmt, __FUNCTION__, __LINE__, ##__VA_ARGS__) +#else + +#define HILOG_FATAL(...) +#define HILOG_ERROR(...) +#define HILOG_WARN(...) +#define HILOG_INFO(...) +#define HILOG_DEBUG(...) +#endif // CONFIG_HILOG + +#endif // HILOG_WRAPPER_H \ No newline at end of file -- Gitee From de28502afa7d8220c9c346038ca93bf9a3d0923c Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Mon, 20 Jun 2022 17:08:27 +0800 Subject: [PATCH 02/15] clean codecheck Signed-off-by: wangjianqiang --- frameworks/innerkits/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/innerkits/BUILD.gn b/frameworks/innerkits/BUILD.gn index 78788ce7..50ab31b3 100644 --- a/frameworks/innerkits/BUILD.gn +++ b/frameworks/innerkits/BUILD.gn @@ -18,4 +18,4 @@ group("frameworks_innerkits") { "file_access:file_extension_ability_kit", "file_access:file_extension_ability_module", ] -} \ No newline at end of file +} -- Gitee From 4f6be2a046cc65bd455581e1b1b025114df48df4 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Mon, 20 Jun 2022 20:21:43 +0800 Subject: [PATCH 03/15] clean codecheck Signed-off-by: wangjianqiang --- frameworks/innerkits/file_access/BUILD.gn | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frameworks/innerkits/file_access/BUILD.gn b/frameworks/innerkits/file_access/BUILD.gn index c57774f1..6db1b69c 100644 --- a/frameworks/innerkits/file_access/BUILD.gn +++ b/frameworks/innerkits/file_access/BUILD.gn @@ -75,7 +75,6 @@ ohos_shared_library("file_extension_ability_kit") { "access_token:libaccesstoken_sdk", "ipc:ipc_core", "ipc_js:rpc", - "permission_standard:libpermissionsdk_standard", "utils_base:utils", ] @@ -108,4 +107,4 @@ ohos_shared_library("file_extension_ability_module") { subsystem_name = "filemanagement" part_name = "user_file_service" -} \ No newline at end of file +} -- Gitee From be433de8417b436e0a9d01678030d8a58aa9798d Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Tue, 21 Jun 2022 14:13:09 +0800 Subject: [PATCH 04/15] Modify the question Signed-off-by: wangjianqiang --- .../file_access/src/js_file_ext_ability.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp b/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp index b96b3253..aaaa7f26 100644 --- a/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp @@ -40,8 +40,7 @@ using OHOS::Security::AccessToken::AccessTokenKit; JsFileExtAbility* JsFileExtAbility::Create(const std::unique_ptr& runtime) { - HILOG_INFO("%{public}s begin.", __func__); - HILOG_INFO("%{public}s end.", __func__); + HILOG_INFO("%{public}s.", __func__); return new JsFileExtAbility(static_cast(*runtime)); } @@ -83,7 +82,6 @@ void JsFileExtAbility::Init(const std::shared_ptr &record, void JsFileExtAbility::OnStart(const AAFwk::Want &want) { - HILOG_INFO("%{public}s begin.", __func__); Extension::OnStart(want); HandleScope handleScope(jsRuntime_); napi_env env = reinterpret_cast(&jsRuntime_.GetNativeEngine()); @@ -91,7 +89,6 @@ void JsFileExtAbility::OnStart(const AAFwk::Want &want) NativeValue* nativeWant = reinterpret_cast(napiWant); NativeValue* argv[] = {nativeWant}; CallObjectMethod("onCreate", argv, ARGC_ONE); - HILOG_INFO("%{public}s end.", __func__); } sptr JsFileExtAbility::OnConnect(const AAFwk::Want &want) @@ -104,10 +101,8 @@ sptr JsFileExtAbility::OnConnect(const AAFwk::Want &want) NativeValue* JsFileExtAbility::CallObjectMethod(const char* name, NativeValue* const* argv, size_t argc) { - HILOG_INFO("%{public}s name = %{public}s, begin", __func__, name); - if (!jsObj_) { - HILOG_WARN("%{public}s Not found FileExtAbility.js", __func__); + HILOG_WARN("JsFileExtAbility::CallObjectMethod jsObj Not found FileExtAbility.js"); return nullptr; } @@ -126,7 +121,6 @@ NativeValue* JsFileExtAbility::CallObjectMethod(const char* name, NativeValue* c HILOG_ERROR("%{public}s Failed to get '%{public}s' from FileExtAbility object", __func__, name); return nullptr; } - HILOG_INFO("%{public}s, name = %{public}s, success", __func__, name); return handleScope.Escape(nativeEngine.CallFunction(value, method, argv, argc)); } @@ -141,7 +135,6 @@ void JsFileExtAbility::GetSrcPath(std::string &srcPath) srcPath.append(Extension::abilityInfo_->srcPath); } srcPath.append("/").append(Extension::abilityInfo_->name).append(".abc"); - HILOG_INFO("%{public}s end1, srcPath:%{public}s", __func__, srcPath.c_str()); return; } @@ -151,7 +144,6 @@ void JsFileExtAbility::GetSrcPath(std::string &srcPath) srcPath.erase(srcPath.rfind('.')); srcPath.append(".abc"); } - HILOG_INFO("%{public}s end2, srcPath:%{public}s", __func__, srcPath.c_str()); } } // namespace FileAccessFwk } // namespace OHOS \ No newline at end of file -- Gitee From 9bf4b5a569fe87b905ce4654e6764d8958877879 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Tue, 21 Jun 2022 14:24:08 +0800 Subject: [PATCH 05/15] clean formatcheck Signed-off-by: wangjianqiang --- .../kits/napi/file_ext_ability/BUILD.gn | 50 ------------------- 1 file changed, 50 deletions(-) diff --git a/interfaces/kits/napi/file_ext_ability/BUILD.gn b/interfaces/kits/napi/file_ext_ability/BUILD.gn index b42b2ad5..e69de29b 100644 --- a/interfaces/kits/napi/file_ext_ability/BUILD.gn +++ b/interfaces/kits/napi/file_ext_ability/BUILD.gn @@ -1,50 +0,0 @@ -# Copyright (c) 2022 Huawei Device Co., Ltd. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import("//ark/ts2abc/ts2panda/ts2abc_config.gni") -import("//build/ohos.gni") - -ts2abc_gen_abc("gen_file_ext_ability_abc") { - src_js = rebase_path("file_ext_ability.js") - dst_file = rebase_path(target_out_dir + "/file_ext_ability.abc") - in_puts = [ "file_ext_ability.js" ] - out_puts = [ target_out_dir + "/file_ext_ability.abc" ] - extra_args = [ "--module" ] -} - -gen_js_obj("file_ext_ability_js") { - input = "file_ext_ability.js" - output = target_out_dir + "/file_ext_ability.o" -} - -gen_js_obj("file_ext_ability_abc") { - input = get_label_info(":gen_file_ext_ability_abc", "target_out_dir") + - "/file_ext_ability.abc" - output = target_out_dir + "/file_ext_ability_abc.o" - dep = ":gen_file_ext_ability_abc" -} - -ohos_shared_library("fileextensionability_napi") { - sources = [ "file_ext_ability_module.cpp" ] - - deps = [ - ":file_ext_ability_abc", - ":file_ext_ability_js", - ] - - external_deps = [ "napi:ace_napi" ] - - relative_install_dir = "module/application" - subsystem_name = "filemanagement" - part_name = "user_file_service" -} \ No newline at end of file -- Gitee From 074b2276cc42cdde5473938d1960689b7694dcf1 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Tue, 21 Jun 2022 14:34:34 +0800 Subject: [PATCH 06/15] clean codecheck Signed-off-by: wangjianqiang --- .../kits/napi/file_ext_ability/BUILD.gn | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/interfaces/kits/napi/file_ext_ability/BUILD.gn b/interfaces/kits/napi/file_ext_ability/BUILD.gn index e69de29b..b0e794e8 100644 --- a/interfaces/kits/napi/file_ext_ability/BUILD.gn +++ b/interfaces/kits/napi/file_ext_ability/BUILD.gn @@ -0,0 +1,50 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//ark/ts2abc/ts2panda/ts2abc_config.gni") +import("//build/ohos.gni") + +ts2abc_gen_abc("gen_file_ext_ability_abc") { + src_js = rebase_path("file_ext_ability.js") + dst_file = rebase_path(target_out_dir + "/file_ext_ability.abc") + in_puts = [ "file_ext_ability.js" ] + out_puts = [ target_out_dir + "/file_ext_ability.abc" ] + extra_args = [ "--module" ] +} + +gen_js_obj("file_ext_ability_js") { + input = "file_ext_ability.js" + output = target_out_dir + "/file_ext_ability.o" +} + +gen_js_obj("file_ext_ability_abc") { + input = get_label_info(":gen_file_ext_ability_abc", "target_out_dir") + + "/file_ext_ability.abc" + output = target_out_dir + "/file_ext_ability_abc.o" + dep = ":gen_file_ext_ability_abc" +} + +ohos_shared_library("fileextensionability_napi") { + sources = [ "file_ext_ability_module.cpp" ] + + deps = [ + ":file_ext_ability_abc", + ":file_ext_ability_js", + ] + + external_deps = [ "napi:ace_napi" ] + + relative_install_dir = "module/application" + subsystem_name = "filemanagement" + part_name = "user_file_service" +} -- Gitee From bc4852afd2c82278644852df01f415b86deb6e7a Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Tue, 21 Jun 2022 16:06:49 +0800 Subject: [PATCH 07/15] clean log Signed-off-by: wangjianqiang --- frameworks/innerkits/file_access/src/file_ext_ability.cpp | 2 +- .../file_access/src/file_ext_ability_module_loader.cpp | 4 ++-- frameworks/innerkits/file_access/src/js_file_ext_ability.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/innerkits/file_access/src/file_ext_ability.cpp b/frameworks/innerkits/file_access/src/file_ext_ability.cpp index 97a46201..ae495cf1 100644 --- a/frameworks/innerkits/file_access/src/file_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/file_ext_ability.cpp @@ -51,7 +51,7 @@ FileExtAbility* FileExtAbility::Create(const std::unique_ptr& runtime) HILOG_INFO("%{public}s default --> FileExtAbility", __func__); return new FileExtAbility(); } - HILOG_INFO("%{public}s begin.", __func__); + HILOG_INFO("%{public}s end.", __func__); } void FileExtAbility::Init(const std::shared_ptr &record, diff --git a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp index 91f9d93f..afb5c83b 100644 --- a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp +++ b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp @@ -23,13 +23,13 @@ FileExtAbilityModuleLoader::~FileExtAbilityModuleLoader() = default; Extension *FileExtAbilityModuleLoader::Create(const std::unique_ptr& runtime) const { - HILOG_INFO("tag dsa %{public}s begin.", __func__); + HILOG_INFO("FileExtAbilityModuleLoader %{public}s.", __func__); return FileExtAbility::Create(runtime); } extern "C" __attribute__((visibility("default"))) void* OHOS_EXTENSION_GetExtensionModule() { - HILOG_INFO("tag dsa %{public}s begin.", __func__); + HILOG_INFO("FileExtAbilityModuleLoader %{public}s .", __func__); return &FileExtAbilityModuleLoader::GetInstance(); } diff --git a/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp b/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp index aaaa7f26..ace733bd 100644 --- a/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp @@ -126,7 +126,7 @@ NativeValue* JsFileExtAbility::CallObjectMethod(const char* name, NativeValue* c void JsFileExtAbility::GetSrcPath(std::string &srcPath) { - HILOG_INFO("%{public}s begin.", __func__); + HILOG_INFO("JsFileExtAbility %{public}s .", __func__); if (!Extension::abilityInfo_->isStageBasedModel) { /* temporary compatibility api8 + config.json */ srcPath.append(Extension::abilityInfo_->package); -- Gitee From eff8e142e6f718213cee00fce474f212d23c6cc3 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Tue, 21 Jun 2022 18:06:02 +0800 Subject: [PATCH 08/15] Modify the question Signed-off-by: wangjianqiang --- frameworks/innerkits/file_access/BUILD.gn | 1 + .../file_access/include/file_ext_ability_module_loader.h | 1 + .../file_access/src/file_ext_ability_module_loader.cpp | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/frameworks/innerkits/file_access/BUILD.gn b/frameworks/innerkits/file_access/BUILD.gn index 6db1b69c..837c8d75 100644 --- a/frameworks/innerkits/file_access/BUILD.gn +++ b/frameworks/innerkits/file_access/BUILD.gn @@ -105,6 +105,7 @@ ohos_shared_library("file_extension_ability_module") { "utils_base:utils", ] + relative_install_dir = "extensionability/" subsystem_name = "filemanagement" part_name = "user_file_service" } diff --git a/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h b/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h index b187cd9f..6f0a67ab 100644 --- a/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h +++ b/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h @@ -26,6 +26,7 @@ class FileExtAbilityModuleLoader : public ExtensionModuleLoader, public: virtual Extension *Create(const std::unique_ptr& runtime) const override; + virtual std::map GetParams() override; }; } // namespace FileAccessFwk } // namespace OHOS diff --git a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp index afb5c83b..8c889174 100644 --- a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp +++ b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp @@ -37,5 +37,13 @@ extern "C" __attribute__((visibility("default"))) void SetCreator(const CreatorF { return FileExtAbility::SetCreator(creator); } + +std::map FileExtAbilityModuleLoader::GetParams() +{ + std::map params; + params.insert(std::pair("type", "11")); + params.insert(std::pair("name", "FileExtAbility")); + return params; +} } // namespace FileAccessFwk } // namespace OHOS \ No newline at end of file -- Gitee From be05be75ba8d9f0dc546b8923a18d24fb0b7490d Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Wed, 22 Jun 2022 19:06:37 +0800 Subject: [PATCH 09/15] change name Signed-off-by: wangjianqiang --- .../file_access/src/file_ext_ability_module_loader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp index 8c889174..d2e389bb 100644 --- a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp +++ b/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp @@ -42,7 +42,7 @@ std::map FileExtAbilityModuleLoader::GetParams() { std::map params; params.insert(std::pair("type", "11")); - params.insert(std::pair("name", "FileExtAbility")); + params.insert(std::pair("name", "FileAccessExtension")); return params; } } // namespace FileAccessFwk -- Gitee From f8ef0e32486f056b31d5d8ac67723ca82576471b Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Thu, 23 Jun 2022 15:43:54 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangjianqiang --- bundle.json | 2 +- frameworks/innerkits/BUILD.gn | 4 +-- frameworks/innerkits/file_access/BUILD.gn | 12 +++---- ...xt_ability.h => file_access_ext_ability.h} | 12 +++---- ...> file_access_ext_ability_module_loader.h} | 6 ++-- ...ability.h => js_file_access_ext_ability.h} | 12 +++---- ...bility.cpp => file_access_ext_ability.cpp} | 22 ++++++------ ...file_access_ext_ability_module_loader.cpp} | 22 ++++++------ ...ity.cpp => js_file_access_ext_ability.cpp} | 32 ++++++++--------- .../BUILD.gn | 34 +++++++++---------- .../file_access_ext_ability.js} | 4 +-- .../file_access_ext_ability_module.cpp} | 26 +++++++------- 12 files changed, 94 insertions(+), 94 deletions(-) rename frameworks/innerkits/file_access/include/{file_ext_ability.h => file_access_ext_ability.h} (77%) rename frameworks/innerkits/file_access/include/{file_ext_ability_module_loader.h => file_access_ext_ability_module_loader.h} (85%) rename frameworks/innerkits/file_access/include/{js_file_ext_ability.h => js_file_access_ext_ability.h} (82%) rename frameworks/innerkits/file_access/src/{file_ext_ability.cpp => file_access_ext_ability.cpp} (71%) rename frameworks/innerkits/file_access/src/{file_ext_ability_module_loader.cpp => file_access_ext_ability_module_loader.cpp} (60%) rename frameworks/innerkits/file_access/src/{js_file_ext_ability.cpp => js_file_access_ext_ability.cpp} (77%) rename interfaces/kits/napi/{file_ext_ability => file_access_ext_ability}/BUILD.gn (50%) rename interfaces/kits/napi/{file_ext_ability/file_ext_ability.js => file_access_ext_ability/file_access_ext_ability.js} (89%) rename interfaces/kits/napi/{file_ext_ability/file_ext_ability_module.cpp => file_access_ext_ability/file_access_ext_ability_module.cpp} (53%) diff --git a/bundle.json b/bundle.json index c8dc5f1a..193a6862 100644 --- a/bundle.json +++ b/bundle.json @@ -38,7 +38,7 @@ "//foundation/filemanagement/user_file_service/services/sa_profile:filemanager_service_sa_profile", "//foundation/filemanagement/user_file_service/interfaces/kits/js:filemanager", "//foundation/filemanagement/user_file_service/frameworks/innerkits:frameworks_innerkits", - "//foundation/filemanagement/user_file_service/interfaces/kits/napi/file_ext_ability:fileextensionability_napi" + "//foundation/filemanagement/user_file_service/interfaces/kits/napi/file_access_ext_ability:fileaccessextensionability_napi" ], "test": [ "//foundation/filemanagement/user_file_service/services/test:user_file_manager_test" diff --git a/frameworks/innerkits/BUILD.gn b/frameworks/innerkits/BUILD.gn index 50ab31b3..c4a0a69e 100644 --- a/frameworks/innerkits/BUILD.gn +++ b/frameworks/innerkits/BUILD.gn @@ -15,7 +15,7 @@ import("//build/ohos.gni") group("frameworks_innerkits") { deps = [ - "file_access:file_extension_ability_kit", - "file_access:file_extension_ability_module", + "file_access:file_access_extension_ability_kit", + "file_access:file_access_extension_ability_module", ] } diff --git a/frameworks/innerkits/file_access/BUILD.gn b/frameworks/innerkits/file_access/BUILD.gn index 837c8d75..8ede32ec 100644 --- a/frameworks/innerkits/file_access/BUILD.gn +++ b/frameworks/innerkits/file_access/BUILD.gn @@ -46,12 +46,12 @@ config("ability_public_config") { ] } -ohos_shared_library("file_extension_ability_kit") { +ohos_shared_library("file_access_extension_ability_kit") { include_dirs = [] sources = [ - "src/file_ext_ability.cpp", - "src/js_file_ext_ability.cpp", + "src/file_access_ext_ability.cpp", + "src/js_file_access_ext_ability.cpp", ] configs = [ ":ability_config" ] public_configs = [ @@ -87,14 +87,14 @@ ohos_shared_library("file_extension_ability_kit") { part_name = "user_file_service" } -ohos_shared_library("file_extension_ability_module") { - sources = [ "src/file_ext_ability_module_loader.cpp" ] +ohos_shared_library("file_access_extension_ability_module") { + sources = [ "src/file_access_ext_ability_module_loader.cpp" ] configs = [ ":ability_config" ] public_configs = [ ":ability_public_config" ] deps = [ - ":file_extension_ability_kit", + ":file_access_extension_ability_kit", "${aafwk_kits_path}/ability/native:abilitykit_native", ] diff --git a/frameworks/innerkits/file_access/include/file_ext_ability.h b/frameworks/innerkits/file_access/include/file_access_ext_ability.h similarity index 77% rename from frameworks/innerkits/file_access/include/file_ext_ability.h rename to frameworks/innerkits/file_access/include/file_access_ext_ability.h index b099e5b5..255a01f9 100644 --- a/frameworks/innerkits/file_access/include/file_ext_ability.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_ability.h @@ -24,19 +24,19 @@ class Runtime; } namespace FileAccessFwk { using namespace AbilityRuntime; -class FileExtAbility; -using CreatorFunc = std::function& runtime)>; -class FileExtAbility : public ExtensionBase<> { +class FileAccessExtAbility; +using CreatorFunc = std::function& runtime)>; +class FileAccessExtAbility : public ExtensionBase<> { public: - FileExtAbility() = default; - virtual ~FileExtAbility() = default; + FileAccessExtAbility() = default; + virtual ~FileAccessExtAbility() = default; virtual void Init(const std::shared_ptr &record, const std::shared_ptr &application, std::shared_ptr &handler, const sptr &token) override; - static FileExtAbility* Create(const std::unique_ptr& runtime); + static FileAccessExtAbility* Create(const std::unique_ptr& runtime); static void SetCreator(const CreatorFunc& creator); private: static CreatorFunc creator_; diff --git a/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h b/frameworks/innerkits/file_access/include/file_access_ext_ability_module_loader.h similarity index 85% rename from frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h rename to frameworks/innerkits/file_access/include/file_access_ext_ability_module_loader.h index 6f0a67ab..fad8b9cf 100644 --- a/frameworks/innerkits/file_access/include/file_ext_ability_module_loader.h +++ b/frameworks/innerkits/file_access/include/file_access_ext_ability_module_loader.h @@ -20,9 +20,9 @@ namespace OHOS { namespace FileAccessFwk { using namespace AbilityRuntime; -class FileExtAbilityModuleLoader : public ExtensionModuleLoader, - public Singleton { - DECLARE_SINGLETON(FileExtAbilityModuleLoader); +class FileAccessExtAbilityModuleLoader : public ExtensionModuleLoader, + public Singleton { + DECLARE_SINGLETON(FileAccessExtAbilityModuleLoader); public: virtual Extension *Create(const std::unique_ptr& runtime) const override; diff --git a/frameworks/innerkits/file_access/include/js_file_ext_ability.h b/frameworks/innerkits/file_access/include/js_file_access_ext_ability.h similarity index 82% rename from frameworks/innerkits/file_access/include/js_file_ext_ability.h rename to frameworks/innerkits/file_access/include/js_file_access_ext_ability.h index 662a7f08..8ac3b18d 100644 --- a/frameworks/innerkits/file_access/include/js_file_ext_ability.h +++ b/frameworks/innerkits/file_access/include/js_file_access_ext_ability.h @@ -16,7 +16,7 @@ #ifndef JS_FILE_EXT_ABILITY_H #define JS_FILE_EXT_ABILITY_H -#include "file_ext_ability.h" +#include "file_access_ext_ability.h" #include "js_runtime.h" #include "native_engine/native_reference.h" @@ -25,12 +25,12 @@ namespace OHOS { namespace FileAccessFwk { using namespace AbilityRuntime; -class JsFileExtAbility : public FileExtAbility { +class JsFileAccessExtAbility : public FileAccessExtAbility { public: - JsFileExtAbility(JsRuntime& jsRuntime); - virtual ~JsFileExtAbility() override; + JsFileAccessExtAbility(JsRuntime& jsRuntime); + virtual ~JsFileAccessExtAbility() override; - static JsFileExtAbility* Create(const std::unique_ptr& runtime); + static JsFileAccessExtAbility* Create(const std::unique_ptr& runtime); void Init(const std::shared_ptr &record, const std::shared_ptr &application, @@ -46,7 +46,7 @@ private: void GetSrcPath(std::string &srcPath); JsRuntime& jsRuntime_; - std::unique_ptr jsObj_; + std::shared_ptr jsObj_; }; } // namespace FileAccessFwk } // namespace OHOS diff --git a/frameworks/innerkits/file_access/src/file_ext_ability.cpp b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp similarity index 71% rename from frameworks/innerkits/file_access/src/file_ext_ability.cpp rename to frameworks/innerkits/file_access/src/file_access_ext_ability.cpp index ae495cf1..b51e04d1 100644 --- a/frameworks/innerkits/file_access/src/file_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp @@ -13,30 +13,30 @@ * limitations under the License. */ -#include "file_ext_ability.h" +#include "file_access_ext_ability.h" #include "ability_loader.h" #include "connection_manager.h" #include "extension_context.h" #include "hilog_wrapper.h" -#include "js_file_ext_ability.h" +#include "js_file_access_ext_ability.h" #include "runtime.h" namespace OHOS { namespace FileAccessFwk { using namespace OHOS::AppExecFwk; -CreatorFunc FileExtAbility::creator_ = nullptr; -void FileExtAbility::SetCreator(const CreatorFunc& creator) +CreatorFunc FileAccessExtAbility::creator_ = nullptr; +void FileAccessExtAbility::SetCreator(const CreatorFunc& creator) { creator_ = creator; } -FileExtAbility* FileExtAbility::Create(const std::unique_ptr& runtime) +FileAccessExtAbility* FileAccessExtAbility::Create(const std::unique_ptr& runtime) { HILOG_INFO("%{public}s begin.", __func__); if (!runtime) { - return new FileExtAbility(); + return new FileAccessExtAbility(); } if (creator_) { return creator_(runtime); @@ -44,17 +44,17 @@ FileExtAbility* FileExtAbility::Create(const std::unique_ptr& runtime) HILOG_INFO("%{public}s runtime", __func__); switch (runtime->GetLanguage()) { case Runtime::Language::JS: - HILOG_INFO("%{public}s Runtime::Language::JS --> JsFileExtAbility", __func__); - return JsFileExtAbility::Create(runtime); + HILOG_INFO("%{public}s Runtime::Language::JS --> JsFileAccessExtAbility", __func__); + return JsFileAccessExtAbility::Create(runtime); default: - HILOG_INFO("%{public}s default --> FileExtAbility", __func__); - return new FileExtAbility(); + HILOG_INFO("%{public}s default --> FileAccessExtAbility", __func__); + return new FileAccessExtAbility(); } HILOG_INFO("%{public}s end.", __func__); } -void FileExtAbility::Init(const std::shared_ptr &record, +void FileAccessExtAbility::Init(const std::shared_ptr &record, const std::shared_ptr &application, std::shared_ptr &handler, const sptr &token) diff --git a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp b/frameworks/innerkits/file_access/src/file_access_ext_ability_module_loader.cpp similarity index 60% rename from frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp rename to frameworks/innerkits/file_access/src/file_access_ext_ability_module_loader.cpp index d2e389bb..a8e0f19d 100644 --- a/frameworks/innerkits/file_access/src/file_ext_ability_module_loader.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability_module_loader.cpp @@ -13,32 +13,32 @@ * limitations under the License. */ -#include "file_ext_ability_module_loader.h" -#include "file_ext_ability.h" +#include "file_access_ext_ability_module_loader.h" +#include "file_access_ext_ability.h" namespace OHOS { namespace FileAccessFwk { -FileExtAbilityModuleLoader::FileExtAbilityModuleLoader() = default; -FileExtAbilityModuleLoader::~FileExtAbilityModuleLoader() = default; +FileAccessExtAbilityModuleLoader::FileAccessExtAbilityModuleLoader() = default; +FileAccessExtAbilityModuleLoader::~FileAccessExtAbilityModuleLoader() = default; -Extension *FileExtAbilityModuleLoader::Create(const std::unique_ptr& runtime) const +Extension *FileAccessExtAbilityModuleLoader::Create(const std::unique_ptr& runtime) const { - HILOG_INFO("FileExtAbilityModuleLoader %{public}s.", __func__); - return FileExtAbility::Create(runtime); + HILOG_INFO("FileAccessExtAbilityModuleLoader %{public}s.", __func__); + return FileAccessExtAbility::Create(runtime); } extern "C" __attribute__((visibility("default"))) void* OHOS_EXTENSION_GetExtensionModule() { - HILOG_INFO("FileExtAbilityModuleLoader %{public}s .", __func__); - return &FileExtAbilityModuleLoader::GetInstance(); + HILOG_INFO("FileAccessExtAbilityModuleLoader %{public}s .", __func__); + return &FileAccessExtAbilityModuleLoader::GetInstance(); } extern "C" __attribute__((visibility("default"))) void SetCreator(const CreatorFunc& creator) { - return FileExtAbility::SetCreator(creator); + return FileAccessExtAbility::SetCreator(creator); } -std::map FileExtAbilityModuleLoader::GetParams() +std::map FileAccessExtAbilityModuleLoader::GetParams() { std::map params; params.insert(std::pair("type", "11")); diff --git a/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp b/frameworks/innerkits/file_access/src/js_file_access_ext_ability.cpp similarity index 77% rename from frameworks/innerkits/file_access/src/js_file_ext_ability.cpp rename to frameworks/innerkits/file_access/src/js_file_access_ext_ability.cpp index ace733bd..60a37131 100644 --- a/frameworks/innerkits/file_access/src/js_file_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/js_file_access_ext_ability.cpp @@ -13,7 +13,7 @@ * limitations under the License. */ -#include "js_file_ext_ability.h" +#include "js_file_access_ext_ability.h" #include "extension_context.h" #include "ability_info.h" @@ -38,21 +38,21 @@ using namespace OHOS::AppExecFwk; using namespace OHOS::AbilityRuntime; using OHOS::Security::AccessToken::AccessTokenKit; -JsFileExtAbility* JsFileExtAbility::Create(const std::unique_ptr& runtime) +JsFileAccessExtAbility* JsFileAccessExtAbility::Create(const std::unique_ptr& runtime) { HILOG_INFO("%{public}s.", __func__); - return new JsFileExtAbility(static_cast(*runtime)); + return new JsFileAccessExtAbility(static_cast(*runtime)); } -JsFileExtAbility::JsFileExtAbility(JsRuntime& jsRuntime) : jsRuntime_(jsRuntime) {} -JsFileExtAbility::~JsFileExtAbility() = default; +JsFileAccessExtAbility::JsFileAccessExtAbility(JsRuntime& jsRuntime) : jsRuntime_(jsRuntime) {} +JsFileAccessExtAbility::~JsFileAccessExtAbility() = default; -void JsFileExtAbility::Init(const std::shared_ptr &record, +void JsFileAccessExtAbility::Init(const std::shared_ptr &record, const std::shared_ptr &application, std::shared_ptr &handler, const sptr &token) { HILOG_INFO("%{public}s begin.", __func__); - FileExtAbility::Init(record, application, handler, token); + FileAccessExtAbility::Init(record, application, handler, token); std::string srcPath = ""; GetSrcPath(srcPath); if (srcPath.empty()) { @@ -74,13 +74,13 @@ void JsFileExtAbility::Init(const std::shared_ptr &record, HILOG_INFO("%{public}s ConvertNativeValueTo.", __func__); NativeObject* obj = ConvertNativeValueTo(jsObj_->Get()); if (obj == nullptr) { - HILOG_ERROR("%{public}s Failed to get JsFileExtAbility object", __func__); + HILOG_ERROR("%{public}s Failed to get JsFileAccessExtAbility object", __func__); return; } HILOG_INFO("%{public}s end.", __func__); } -void JsFileExtAbility::OnStart(const AAFwk::Want &want) +void JsFileAccessExtAbility::OnStart(const AAFwk::Want &want) { Extension::OnStart(want); HandleScope handleScope(jsRuntime_); @@ -91,7 +91,7 @@ void JsFileExtAbility::OnStart(const AAFwk::Want &want) CallObjectMethod("onCreate", argv, ARGC_ONE); } -sptr JsFileExtAbility::OnConnect(const AAFwk::Want &want) +sptr JsFileAccessExtAbility::OnConnect(const AAFwk::Want &want) { HILOG_INFO("%{public}s begin.", __func__); Extension::OnConnect(want); @@ -99,10 +99,10 @@ sptr JsFileExtAbility::OnConnect(const AAFwk::Want &want) return nullptr; } -NativeValue* JsFileExtAbility::CallObjectMethod(const char* name, NativeValue* const* argv, size_t argc) +NativeValue* JsFileAccessExtAbility::CallObjectMethod(const char* name, NativeValue* const* argv, size_t argc) { if (!jsObj_) { - HILOG_WARN("JsFileExtAbility::CallObjectMethod jsObj Not found FileExtAbility.js"); + HILOG_WARN("JsFileAccessExtAbility::CallObjectMethod jsObj Not found FileAccessExtAbility.js"); return nullptr; } @@ -112,21 +112,21 @@ NativeValue* JsFileExtAbility::CallObjectMethod(const char* name, NativeValue* c NativeValue* value = jsObj_->Get(); NativeObject* obj = ConvertNativeValueTo(value); if (obj == nullptr) { - HILOG_ERROR("%{public}s Failed to get FileExtAbility object", __func__); + HILOG_ERROR("%{public}s Failed to get FileAccessExtAbility object", __func__); return nullptr; } NativeValue* method = obj->GetProperty(name); if (method == nullptr) { - HILOG_ERROR("%{public}s Failed to get '%{public}s' from FileExtAbility object", __func__, name); + HILOG_ERROR("%{public}s Failed to get '%{public}s' from FileAccessExtAbility object", __func__, name); return nullptr; } return handleScope.Escape(nativeEngine.CallFunction(value, method, argv, argc)); } -void JsFileExtAbility::GetSrcPath(std::string &srcPath) +void JsFileAccessExtAbility::GetSrcPath(std::string &srcPath) { - HILOG_INFO("JsFileExtAbility %{public}s .", __func__); + HILOG_INFO("JsFileAccessExtAbility %{public}s .", __func__); if (!Extension::abilityInfo_->isStageBasedModel) { /* temporary compatibility api8 + config.json */ srcPath.append(Extension::abilityInfo_->package); diff --git a/interfaces/kits/napi/file_ext_ability/BUILD.gn b/interfaces/kits/napi/file_access_ext_ability/BUILD.gn similarity index 50% rename from interfaces/kits/napi/file_ext_ability/BUILD.gn rename to interfaces/kits/napi/file_access_ext_ability/BUILD.gn index b0e794e8..c7879905 100644 --- a/interfaces/kits/napi/file_ext_ability/BUILD.gn +++ b/interfaces/kits/napi/file_access_ext_ability/BUILD.gn @@ -14,32 +14,32 @@ import("//ark/ts2abc/ts2panda/ts2abc_config.gni") import("//build/ohos.gni") -ts2abc_gen_abc("gen_file_ext_ability_abc") { - src_js = rebase_path("file_ext_ability.js") - dst_file = rebase_path(target_out_dir + "/file_ext_ability.abc") - in_puts = [ "file_ext_ability.js" ] - out_puts = [ target_out_dir + "/file_ext_ability.abc" ] +ts2abc_gen_abc("gen_file_access_ext_ability_abc") { + src_js = rebase_path("file_access_ext_ability.js") + dst_file = rebase_path(target_out_dir + "/file_access_ext_ability.abc") + in_puts = [ "file_access_ext_ability.js" ] + out_puts = [ target_out_dir + "/file_access_ext_ability.abc" ] extra_args = [ "--module" ] } -gen_js_obj("file_ext_ability_js") { - input = "file_ext_ability.js" - output = target_out_dir + "/file_ext_ability.o" +gen_js_obj("file_access_ext_ability_js") { + input = "file_access_ext_ability.js" + output = target_out_dir + "/file_access_ext_ability.o" } -gen_js_obj("file_ext_ability_abc") { - input = get_label_info(":gen_file_ext_ability_abc", "target_out_dir") + - "/file_ext_ability.abc" - output = target_out_dir + "/file_ext_ability_abc.o" - dep = ":gen_file_ext_ability_abc" +gen_js_obj("file_access_ext_ability_abc") { + input = get_label_info(":gen_file_access_ext_ability_abc", "target_out_dir") + + "/file_access_ext_ability.abc" + output = target_out_dir + "/file_access_ext_ability_abc.o" + dep = ":gen_file_access_ext_ability_abc" } -ohos_shared_library("fileextensionability_napi") { - sources = [ "file_ext_ability_module.cpp" ] +ohos_shared_library("fileaccessextensionability_napi") { + sources = [ "file_access_ext_ability_module.cpp" ] deps = [ - ":file_ext_ability_abc", - ":file_ext_ability_js", + ":file_access_ext_ability_abc", + ":file_access_ext_ability_js", ] external_deps = [ "napi:ace_napi" ] diff --git a/interfaces/kits/napi/file_ext_ability/file_ext_ability.js b/interfaces/kits/napi/file_access_ext_ability/file_access_ext_ability.js similarity index 89% rename from interfaces/kits/napi/file_ext_ability/file_ext_ability.js rename to interfaces/kits/napi/file_access_ext_ability/file_access_ext_ability.js index d649902b..3c564a63 100644 --- a/interfaces/kits/napi/file_ext_ability/file_ext_ability.js +++ b/interfaces/kits/napi/file_access_ext_ability/file_access_ext_ability.js @@ -13,9 +13,9 @@ * limitations under the License. */ -class FileExtensionAbility { +class FileAccessExtensionAbility { onCreate(want) { } } -export default FileExtensionAbility \ No newline at end of file +export default FileAccessExtensionAbility \ No newline at end of file diff --git a/interfaces/kits/napi/file_ext_ability/file_ext_ability_module.cpp b/interfaces/kits/napi/file_access_ext_ability/file_access_ext_ability_module.cpp similarity index 53% rename from interfaces/kits/napi/file_ext_ability/file_ext_ability_module.cpp rename to interfaces/kits/napi/file_access_ext_ability/file_access_ext_ability_module.cpp index 6dca96b5..539d60dd 100644 --- a/interfaces/kits/napi/file_ext_ability/file_ext_ability_module.cpp +++ b/interfaces/kits/napi/file_access_ext_ability/file_access_ext_ability_module.cpp @@ -15,43 +15,43 @@ #include "native_engine/native_engine.h" -extern const char _binary_file_ext_ability_js_start[]; -extern const char _binary_file_ext_ability_js_end[]; -extern const char _binary_file_ext_ability_abc_start[]; -extern const char _binary_file_ext_ability_abc_end[]; +extern const char _binary_file_access_ext_ability_js_start[]; +extern const char _binary_file_access_ext_ability_js_end[]; +extern const char _binary_file_access_ext_ability_abc_start[]; +extern const char _binary_file_access_ext_ability_abc_end[]; extern "C" __attribute__((constructor)) -void NAPI_application_FileExtensionAbility_AutoRegister() +void NAPI_application_FileAccessExtensionAbility_AutoRegister() { auto moduleManager = NativeModuleManager::GetInstance(); NativeModule newModuleInfo = { - .name = "application.FileExtensionAbility", - .fileName = "application/libfileextensionability_napi.so/FileExtensionAbility.js", + .name = "application.FileAccessExtensionAbility", + .fileName = "application/libfileaccessextensionability_napi.so/FileAccessExtensionAbility.js", }; moduleManager->Register(&newModuleInfo); } extern "C" __attribute__((visibility("default"))) -void NAPI_application_FileExtensionAbility_GetJSCode(const char **buf, int *bufLen) +void NAPI_application_FileAccessExtensionAbility_GetJSCode(const char **buf, int *bufLen) { if (buf != nullptr) { - *buf = _binary_file_ext_ability_js_start; + *buf = _binary_file_access_ext_ability_js_start; } if (bufLen != nullptr) { - *bufLen = _binary_file_ext_ability_js_end - _binary_file_ext_ability_js_start; + *bufLen = _binary_file_access_ext_ability_js_end - _binary_file_access_ext_ability_js_start; } } // file extension ability JS register extern "C" __attribute__((visibility("default"))) -void NAPI_application_FileExtensionAbility_GetABCCode(const char **buf, int *buflen) +void NAPI_application_FileAccessExtensionAbility_GetABCCode(const char **buf, int *buflen) { if (buf != nullptr) { - *buf = _binary_file_ext_ability_abc_start; + *buf = _binary_file_access_ext_ability_abc_start; } if (buflen != nullptr) { - *buflen = _binary_file_ext_ability_abc_end - _binary_file_ext_ability_abc_start; + *buflen = _binary_file_access_ext_ability_abc_end - _binary_file_access_ext_ability_abc_start; } } \ No newline at end of file -- Gitee From 6f4d76d6af0a6fa90a8c8a86f51882cb386233f1 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Fri, 24 Jun 2022 14:24:12 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9build.gn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangjianqiang --- frameworks/innerkits/file_access/BUILD.gn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/innerkits/file_access/BUILD.gn b/frameworks/innerkits/file_access/BUILD.gn index 8ede32ec..79a2c340 100644 --- a/frameworks/innerkits/file_access/BUILD.gn +++ b/frameworks/innerkits/file_access/BUILD.gn @@ -56,12 +56,12 @@ ohos_shared_library("file_access_extension_ability_kit") { configs = [ ":ability_config" ] public_configs = [ ":ability_public_config", - "${aafwk_kits_path}/ability/ability_runtime:ability_context_public_config", + "${aafwk_path}/frameworks/native/ability:ability_context_public_config", ] deps = [ - "${aafwk_kits_path}/ability/native:abilitykit_native", - "${aafwk_kits_path}/appkit:app_context", + "${aafwk_path}/frameworks/native/ability/native:abilitykit_native", + "${aafwk_path}/frameworks/native/appkit:app_context", ] external_deps = [ @@ -95,7 +95,7 @@ ohos_shared_library("file_access_extension_ability_module") { deps = [ ":file_access_extension_ability_kit", - "${aafwk_kits_path}/ability/native:abilitykit_native", + "${aafwk_path}/frameworks/native/ability/native:abilitykit_native", ] external_deps = [ -- Gitee From 14722617ae8019bed0edab23d716f6bb72b5430d Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Fri, 24 Jun 2022 14:27:54 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangjianqiang --- frameworks/innerkits/file_access/src/file_access_ext_ability.cpp | 1 - .../innerkits/file_access/src/js_file_access_ext_ability.cpp | 1 - 2 files changed, 2 deletions(-) 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 b51e04d1..4d736c9e 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp @@ -41,7 +41,6 @@ FileAccessExtAbility* FileAccessExtAbility::Create(const std::unique_ptrGetLanguage()) { case Runtime::Language::JS: HILOG_INFO("%{public}s Runtime::Language::JS --> JsFileAccessExtAbility", __func__); 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 60a37131..2c43b2ed 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 @@ -71,7 +71,6 @@ void JsFileAccessExtAbility::Init(const std::shared_ptr &rec HILOG_ERROR("%{public}s Failed to get jsObj_", __func__); return; } - HILOG_INFO("%{public}s ConvertNativeValueTo.", __func__); NativeObject* obj = ConvertNativeValueTo(jsObj_->Get()); if (obj == nullptr) { HILOG_ERROR("%{public}s Failed to get JsFileAccessExtAbility object", __func__); -- Gitee From fa9cfe69dbf2d8a85fa59a1fcbd58c4f9c323556 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Fri, 24 Jun 2022 15:06:10 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangjianqiang --- .../file_access/src/file_access_ext_ability.cpp | 4 ---- .../file_access/src/js_file_access_ext_ability.cpp | 11 +++++------ 2 files changed, 5 insertions(+), 10 deletions(-) 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 4d736c9e..e0369b1d 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp @@ -34,7 +34,6 @@ void FileAccessExtAbility::SetCreator(const CreatorFunc& creator) FileAccessExtAbility* FileAccessExtAbility::Create(const std::unique_ptr& runtime) { - HILOG_INFO("%{public}s begin.", __func__); if (!runtime) { return new FileAccessExtAbility(); } @@ -50,7 +49,6 @@ FileAccessExtAbility* FileAccessExtAbility::Create(const std::unique_ptr FileAccessExtAbility", __func__); return new FileAccessExtAbility(); } - HILOG_INFO("%{public}s end.", __func__); } void FileAccessExtAbility::Init(const std::shared_ptr &record, @@ -58,9 +56,7 @@ void FileAccessExtAbility::Init(const std::shared_ptr &recor std::shared_ptr &handler, const sptr &token) { - HILOG_INFO("%{public}s begin.", __func__); ExtensionBase<>::Init(record, application, handler, token); - HILOG_INFO("%{public}s end.", __func__); } } // namespace FileAccessFwk } // namespace OHOS \ No newline at end of file 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 2c43b2ed..482bf64f 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 @@ -40,7 +40,6 @@ using OHOS::Security::AccessToken::AccessTokenKit; JsFileAccessExtAbility* JsFileAccessExtAbility::Create(const std::unique_ptr& runtime) { - HILOG_INFO("%{public}s.", __func__); return new JsFileAccessExtAbility(static_cast(*runtime)); } @@ -51,7 +50,6 @@ void JsFileAccessExtAbility::Init(const std::shared_ptr &rec const std::shared_ptr &application, std::shared_ptr &handler, const sptr &token) { - HILOG_INFO("%{public}s begin.", __func__); FileAccessExtAbility::Init(record, application, handler, token); std::string srcPath = ""; GetSrcPath(srcPath); @@ -76,7 +74,6 @@ void JsFileAccessExtAbility::Init(const std::shared_ptr &rec HILOG_ERROR("%{public}s Failed to get JsFileAccessExtAbility object", __func__); return; } - HILOG_INFO("%{public}s end.", __func__); } void JsFileAccessExtAbility::OnStart(const AAFwk::Want &want) @@ -92,9 +89,7 @@ void JsFileAccessExtAbility::OnStart(const AAFwk::Want &want) sptr JsFileAccessExtAbility::OnConnect(const AAFwk::Want &want) { - HILOG_INFO("%{public}s begin.", __func__); Extension::OnConnect(want); - HILOG_INFO("%{public}s end. ", __func__); return nullptr; } @@ -109,6 +104,11 @@ NativeValue* JsFileAccessExtAbility::CallObjectMethod(const char* name, NativeVa auto& nativeEngine = jsRuntime_.GetNativeEngine(); NativeValue* value = jsObj_->Get(); + if(value == nullptr) { + HILOG_ERROR("%{public}s Failed to get FileAccessExtAbility value", __func__); + return nullptr; + } + NativeObject* obj = ConvertNativeValueTo(value); if (obj == nullptr) { HILOG_ERROR("%{public}s Failed to get FileAccessExtAbility object", __func__); @@ -125,7 +125,6 @@ NativeValue* JsFileAccessExtAbility::CallObjectMethod(const char* name, NativeVa void JsFileAccessExtAbility::GetSrcPath(std::string &srcPath) { - HILOG_INFO("JsFileAccessExtAbility %{public}s .", __func__); if (!Extension::abilityInfo_->isStageBasedModel) { /* temporary compatibility api8 + config.json */ srcPath.append(Extension::abilityInfo_->package); -- Gitee From f0e7d0fd46af8d007dbdc7bee1d4c52010ffa9d5 Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Fri, 24 Jun 2022 16:24:43 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangjianqiang --- .../innerkits/file_access/src/file_access_ext_ability.cpp | 2 -- .../file_access/src/file_access_ext_ability_module_loader.cpp | 2 -- .../innerkits/file_access/src/js_file_access_ext_ability.cpp | 4 +--- 3 files changed, 1 insertion(+), 7 deletions(-) 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 e0369b1d..c4f07907 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability.cpp @@ -42,11 +42,9 @@ FileAccessExtAbility* FileAccessExtAbility::Create(const std::unique_ptrGetLanguage()) { case Runtime::Language::JS: - HILOG_INFO("%{public}s Runtime::Language::JS --> JsFileAccessExtAbility", __func__); return JsFileAccessExtAbility::Create(runtime); default: - HILOG_INFO("%{public}s default --> FileAccessExtAbility", __func__); return new FileAccessExtAbility(); } } diff --git a/frameworks/innerkits/file_access/src/file_access_ext_ability_module_loader.cpp b/frameworks/innerkits/file_access/src/file_access_ext_ability_module_loader.cpp index a8e0f19d..e4881c7a 100644 --- a/frameworks/innerkits/file_access/src/file_access_ext_ability_module_loader.cpp +++ b/frameworks/innerkits/file_access/src/file_access_ext_ability_module_loader.cpp @@ -23,13 +23,11 @@ FileAccessExtAbilityModuleLoader::~FileAccessExtAbilityModuleLoader() = default; Extension *FileAccessExtAbilityModuleLoader::Create(const std::unique_ptr& runtime) const { - HILOG_INFO("FileAccessExtAbilityModuleLoader %{public}s.", __func__); return FileAccessExtAbility::Create(runtime); } extern "C" __attribute__((visibility("default"))) void* OHOS_EXTENSION_GetExtensionModule() { - HILOG_INFO("FileAccessExtAbilityModuleLoader %{public}s .", __func__); return &FileAccessExtAbilityModuleLoader::GetInstance(); } 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 482bf64f..2a5c78dc 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 @@ -60,8 +60,6 @@ void JsFileAccessExtAbility::Init(const std::shared_ptr &rec std::string moduleName(Extension::abilityInfo_->moduleName); moduleName.append("::").append(abilityInfo_->name); - HILOG_INFO("%{public}s module:%{public}s, srcPath:%{public}s.", - __func__, moduleName.c_str(), srcPath.c_str()); HandleScope handleScope(jsRuntime_); jsObj_ = jsRuntime_.LoadModule(moduleName, srcPath); @@ -96,7 +94,7 @@ sptr JsFileAccessExtAbility::OnConnect(const AAFwk::Want &want) NativeValue* JsFileAccessExtAbility::CallObjectMethod(const char* name, NativeValue* const* argv, size_t argc) { if (!jsObj_) { - HILOG_WARN("JsFileAccessExtAbility::CallObjectMethod jsObj Not found FileAccessExtAbility.js"); + HILOG_ERROR("JsFileAccessExtAbility::CallObjectMethod jsObj Not found FileAccessExtAbility.js"); return nullptr; } -- Gitee From e00a85c6bf2d9ab8c0da1e27bc25a238dc20a89b Mon Sep 17 00:00:00 2001 From: wangjianqiang Date: Fri, 24 Jun 2022 20:32:13 +0800 Subject: [PATCH 15/15] clean codecheck Signed-off-by: wangjianqiang --- .../innerkits/file_access/src/js_file_access_ext_ability.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2a5c78dc..d11607cc 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 @@ -102,7 +102,7 @@ NativeValue* JsFileAccessExtAbility::CallObjectMethod(const char* name, NativeVa auto& nativeEngine = jsRuntime_.GetNativeEngine(); NativeValue* value = jsObj_->Get(); - if(value == nullptr) { + if (value == nullptr) { HILOG_ERROR("%{public}s Failed to get FileAccessExtAbility value", __func__); return nullptr; } -- Gitee