diff --git a/README_ZH.md b/README_ZH.md old mode 100755 new mode 100644 index 049a91b..22e052a --- a/README_ZH.md +++ b/README_ZH.md @@ -27,7 +27,11 @@ ``` //base/user_iam/face_auth ├── bundle.json # 组件描述文件 +├── common # 组件公共文件 ├── figures # README使用的图片 +├── frameworks # 框架代码 +├── interfaces # 对外接口存放目录 +│ └── inner_api # 对内部子系统暴露的头文件,供系统服务使用 ├── sa_profile # Service Ability 配置文件 ├── services # Service Ability 服务实现 └── ui # 人脸录入界面实现 diff --git a/bundle.json b/bundle.json index 61983f1..313a10f 100644 --- a/bundle.json +++ b/bundle.json @@ -22,33 +22,31 @@ "ram": "16000KB", "deps": { "components": [ - "ability_base", - "ability_runtime", - "hiviewdfx_hilog_native", - "ipc", "aafwk_standard", - "safwk", - "samgr_standard" - ], - "third_party": [ - "openssl" + "faceauth_device_driver_interface:libfaceauth_proxy_1.0", + "hiviewdfx_hilog_native:libhilog", + "ipc:ipc_core", + "safwk:system_ability_fwk", + "samgr_standard:samgr_proxy", + "user_auth:coauth_framework", + "utils_base:utils" ] }, "build": { "sub_component": [ - "//base/user_iam/face_auth/services:faceauthservice_group", + "//base/user_iam/face_auth/services:faceauthservice", "//base/user_iam/face_auth/sa_profile:faceauth_sa_profile.init", "//base/user_iam/face_auth/sa_profile:faceauth_sa_profile" ], "inner_kits": [ { "type": "so", - "name": "//base/user_iam/face_auth/interfaces/innerkits/faceauth:faceauth_framework_group", + "name": "//base/user_iam/face_auth/frameworks/face_auth:faceauth_framework", "header": { "header_files": [ "face_auth_innerkit.h" ], - "header_base": "//base/user_iam/face_auth/interfaces/innerkits/faceauth/include" + "header_base": "//base/user_iam/face_auth/interfaces/inner_api/face_auth/" } } ], diff --git a/common/include/face_auth_defines.h b/common/inc/face_auth_defines.h similarity index 94% rename from common/include/face_auth_defines.h rename to common/inc/face_auth_defines.h index 85874cc..8d8a75b 100644 --- a/common/include/face_auth_defines.h +++ b/common/inc/face_auth_defines.h @@ -21,12 +21,6 @@ namespace UserIAM { namespace FaceAuth { #include -// constant -namespace { -static const int32_t FA_RET_OK = 0; -static const int32_t FA_RET_ERROR = -1; -} // namespace - enum FaceAuthRet { FACEAUTH_SUCCESS = 0, FACEAUTH_ERROR = 1, diff --git a/common/include/face_auth_log_wrapper.h b/common/include/face_auth_log_wrapper.h deleted file mode 100644 index 5cd6f7d..0000000 --- a/common/include/face_auth_log_wrapper.h +++ /dev/null @@ -1,96 +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. - */ - -#ifndef FACE_AUTH_LOG_WRAPPER_H -#define FACE_AUTH_LOG_WRAPPER_H - -#define CONFIG_HILOG -#ifdef CONFIG_HILOG - -#include -#include -#include -#include "hilog/log.h" - -namespace OHOS { -namespace UserIAM { -namespace FaceAuth { -#define FILENAME (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) -#define FORMATTED(fmt, ...) "[%{public}s] %{public}s# " fmt, FILENAME, __FUNCTION__, ##__VA_ARGS__ - -#ifdef FACEAUTH_HILOGF -#undef FACEAUTH_HILOGF -#endif - -#ifdef FACEAUTH_HILOGE -#undef FACEAUTH_HILOGE -#endif - -#ifdef FACEAUTH_HILOGW -#undef FACEAUTH_HILOGW -#endif - -#ifdef FACEAUTH_HILOGI -#undef FACEAUTH_HILOGI -#endif - -#ifdef FACEAUTH_HILOGD -#undef FACEAUTH_HILOGD -#endif - - -enum FaceAuthSubModule { - MODULE_SERVICE = 0, - MODULE_FRAMEWORK = 1, - MODULE_MAX -}; - - -static constexpr unsigned int BASE_FACE_AUTH_DOMAIN_ID = 0xD002422; - -enum FaceAuthDomainId { - FACE_AUTH_SERVICE_DOMAIN = BASE_FACE_AUTH_DOMAIN_ID + MODULE_SERVICE, - FACE_AUTH_FRAMEWORK_DOMAIN = BASE_FACE_AUTH_DOMAIN_ID + MODULE_FRAMEWORK, - FACE_AUTH_DOMAIN_ID_MAX -}; - -static constexpr OHOS::HiviewDFX::HiLogLabel FACE_AUTH_LABEL[MODULE_MAX] = { - {LOG_CORE, FACE_AUTH_SERVICE_DOMAIN, "FaceAuthService"}, - {LOG_CORE, FACE_AUTH_FRAMEWORK_DOMAIN, "FaceAuthFramework"}, -}; - -#define FACEAUTH_HILOGF(module, ...) (void)OHOS::HiviewDFX::HiLog::Fatal(FACE_AUTH_LABEL[module], \ - FORMATTED(__VA_ARGS__)) -#define FACEAUTH_HILOGE(module, ...) (void)OHOS::HiviewDFX::HiLog::Error(FACE_AUTH_LABEL[module], \ - FORMATTED(__VA_ARGS__)) -#define FACEAUTH_HILOGW(module, ...) (void)OHOS::HiviewDFX::HiLog::Warn(FACE_AUTH_LABEL[module], \ - FORMATTED(__VA_ARGS__)) -#define FACEAUTH_HILOGI(module, ...) (void)OHOS::HiviewDFX::HiLog::Info(FACE_AUTH_LABEL[module], \ - FORMATTED(__VA_ARGS__)) -#define FACEAUTH_HILOGD(module, ...) (void)OHOS::HiviewDFX::HiLog::Debug(FACE_AUTH_LABEL[module], \ - FORMATTED(__VA_ARGS__)) - -inline std::string getPointerNullString(void *p) -{ - if (p == nullptr) { - return "null"; - } - return "non-null"; -} -} // namespace FaceAuth -} // namespace UserIAM -} // namespace OHOS -#endif // CONFIG_HILOG -#endif // FACE_AUTH_LOG_WRAPPER_H \ No newline at end of file diff --git a/interfaces/innerkits/faceauth/BUILD.gn b/frameworks/face_auth/BUILD.gn similarity index 55% rename from interfaces/innerkits/faceauth/BUILD.gn rename to frameworks/face_auth/BUILD.gn index f2293fd..ce35644 100644 --- a/interfaces/innerkits/faceauth/BUILD.gn +++ b/frameworks/face_auth/BUILD.gn @@ -14,34 +14,28 @@ import("//build/ohos.gni") import("//foundation/aafwk/standard/aafwk.gni") -group("faceauth_framework_group") { - deps = [] - if (ability_runtime_graphics) { - deps += [ ":faceauth_framework" ] - } -} - config("faceauth_framework_public_config") { - include_dirs = - [ "//base/user_iam/face_auth/interfaces/innerkits/faceauth/include" ] + include_dirs = [ + "//base/user_iam/face_auth/interfaces/inner_api/face_auth", + "inc", + ] } ohos_shared_library("faceauth_framework") { sources = [ - "//base/user_iam/face_auth/interfaces/innerkits/faceauth/src/face_auth_client.cpp", - "//base/user_iam/face_auth/interfaces/innerkits/faceauth/src/face_auth_innerkit.cpp", - "//base/user_iam/face_auth/interfaces/innerkits/faceauth/src/face_auth_proxy.cpp", - "//base/user_iam/face_auth/interfaces/innerkits/faceauth/src/face_auth_stub.cpp", + "src/face_auth_client.cpp", + "src/face_auth_innerkit.cpp", + "src/face_auth_proxy.cpp", + "src/face_auth_stub.cpp", ] public_configs = [ ":faceauth_framework_public_config" ] + configs = [ "//base/user_iam/user_auth/common:iam_log_config" ] + include_dirs = [ - "//base/user_iam/face_auth/common/include", - "//base/user_iam/face_auth/interfaces/innerkits/faceauth/include", - "//foundation/multimedia/camera_standard/interfaces/inner_api/native/camera/include", - "//foundation/multimedia/camera_standard/services/camera_service/binder/base/include", - "//utils/native/base/include", + "//base/user_iam/user_auth/common/utils", + "//base/user_iam/face_auth/common/inc", ] if (ability_runtime_graphics) { @@ -52,6 +46,7 @@ ohos_shared_library("faceauth_framework") { "hiviewdfx_hilog_native:libhilog", "ipc:ipc_core", "samgr_standard:samgr_proxy", + "utils_base:utils", ] subsystem_name = "useriam" diff --git a/interfaces/innerkits/faceauth/include/face_auth_client.h b/frameworks/face_auth/inc/face_auth_client.h similarity index 71% rename from interfaces/innerkits/faceauth/include/face_auth_client.h rename to frameworks/face_auth/inc/face_auth_client.h index 7a0aa28..b99e91e 100644 --- a/interfaces/innerkits/faceauth/include/face_auth_client.h +++ b/frameworks/face_auth/inc/face_auth_client.h @@ -17,29 +17,24 @@ #define FACE_AUTH_CLIENT_H #include -#include "nocopyable.h" + #include "singleton.h" + #include "iface_auth.h" namespace OHOS { namespace UserIAM { namespace FaceAuth { -class FaceAuthClient : public IRemoteObject::DeathRecipient { - DECLARE_DELAYED_SINGLETON(FaceAuthClient); - DISALLOW_COPY_AND_MOVE(FaceAuthClient); - +class FaceAuthClient : public IRemoteObject::DeathRecipient, public Singleton { public: void ResetFaceAuthProxy(); - static std::shared_ptr GetInstance(); int32_t SetBufferProducer(sptr &producer); - virtual void OnRemoteDied(const wptr &remote); + void OnRemoteDied(const wptr &remote) override; private: sptr GetFaceAuthProxy(); - static std::mutex mutex_; - static std::shared_ptr instance_; + std::mutex mutex_; sptr faceAuthProxy_; - sptr recipient_; }; } // namespace FaceAuth } // namespace UserIAM diff --git a/interfaces/innerkits/faceauth/include/face_auth_proxy.h b/frameworks/face_auth/inc/face_auth_proxy.h similarity index 72% rename from interfaces/innerkits/faceauth/include/face_auth_proxy.h rename to frameworks/face_auth/inc/face_auth_proxy.h index 434a17e..3a34e6a 100644 --- a/interfaces/innerkits/faceauth/include/face_auth_proxy.h +++ b/frameworks/face_auth/inc/face_auth_proxy.h @@ -17,24 +17,27 @@ #define FACE_AUTH_PROXY_H #include -#include "iface_auth.h" + #include "iremote_proxy.h" +#include "nocopyable.h" + +#include "iface_auth.h" namespace OHOS { namespace UserIAM { namespace FaceAuth { -class FaceAuthProxy : public IRemoteProxy { +class FaceAuthProxy : public IRemoteProxy, public NoCopyable { public: explicit FaceAuthProxy(const sptr &object); - virtual ~FaceAuthProxy() override; - virtual int32_t SetBufferProducer(sptr &producer) override; + ~FaceAuthProxy() override = default; + int32_t SetBufferProducer(sptr &producer) override; private: bool SendRequest(uint32_t code, MessageParcel &data, MessageParcel &reply); - static inline BrokerDelegator delegator_; + static BrokerDelegator delegator_; }; -} // namespace FaceAuth -} // namespace UserIAM -} // namespace OHOS +} // namespace FaceAuth +} // namespace UserIAM +} // namespace OHOS -#endif // FACE_AUTH_PROXY_H \ No newline at end of file +#endif // FACE_AUTH_PROXY_H \ No newline at end of file diff --git a/interfaces/innerkits/faceauth/include/face_auth_stub.h b/frameworks/face_auth/inc/face_auth_stub.h similarity index 73% rename from interfaces/innerkits/faceauth/include/face_auth_stub.h rename to frameworks/face_auth/inc/face_auth_stub.h index 3cafe4d..5c2fb58 100644 --- a/interfaces/innerkits/faceauth/include/face_auth_stub.h +++ b/frameworks/face_auth/inc/face_auth_stub.h @@ -17,30 +17,30 @@ #define FACE_AUTH_STUB_H #include -#include "face_auth_log_wrapper.h" -#include "iface_auth.h" + #include "iremote_stub.h" #include "nocopyable.h" +#include "iface_auth.h" + namespace OHOS { namespace UserIAM { namespace FaceAuth { -class FaceAuthStub : public IRemoteStub { +class FaceAuthStub : public IRemoteStub, public NoCopyable { public: FaceAuthStub(); - virtual ~FaceAuthStub() override; - virtual int32_t OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, - MessageOption &option) override; + ~FaceAuthStub() override = default; + int32_t OnRemoteRequest( + uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override; private: - DISALLOW_COPY_AND_MOVE(FaceAuthStub); using Handler = int32_t (FaceAuthStub::*)(MessageParcel &data, MessageParcel &reply); std::map keyToHandle_; void RegisterKeyToHandle(); int32_t FaceAuthSetBufferProducer(MessageParcel &data, MessageParcel &reply); }; -} // namespace FaceAuth -} // namespace UserIAM -} // namespace OHOS +} // namespace FaceAuth +} // namespace UserIAM +} // namespace OHOS -#endif // FACE_AUTH_STUB_H \ No newline at end of file +#endif // FACE_AUTH_STUB_H \ No newline at end of file diff --git a/interfaces/innerkits/faceauth/include/iface_auth.h b/frameworks/face_auth/inc/iface_auth.h similarity index 92% rename from interfaces/innerkits/faceauth/include/iface_auth.h rename to frameworks/face_auth/inc/iface_auth.h index efff165..65d99ba 100644 --- a/interfaces/innerkits/faceauth/include/iface_auth.h +++ b/frameworks/face_auth/inc/iface_auth.h @@ -17,11 +17,13 @@ #define IFACE_AUTH_H #include #include -#include "face_auth_defines.h" + #include "iremote_broker.h" #include "iremote_object.h" #include "surface.h" +#include "face_auth_defines.h" + namespace OHOS { namespace UserIAM { namespace FaceAuth { @@ -40,8 +42,8 @@ public: FACE_AUTH_SET_BUFFER_PRODUCER = 1, }; }; -} // namespace FaceAuth -} // namespace UserIAM -} // namespace OHOS +} // namespace FaceAuth +} // namespace UserIAM +} // namespace OHOS -#endif // IFACE_AUTH_H \ No newline at end of file +#endif // IFACE_AUTH_H \ No newline at end of file diff --git a/interfaces/innerkits/faceauth/src/face_auth_client.cpp b/frameworks/face_auth/src/face_auth_client.cpp similarity index 72% rename from interfaces/innerkits/faceauth/src/face_auth_client.cpp rename to frameworks/face_auth/src/face_auth_client.cpp index 6658eb1..0304e92 100644 --- a/interfaces/innerkits/faceauth/src/face_auth_client.cpp +++ b/frameworks/face_auth/src/face_auth_client.cpp @@ -14,36 +14,34 @@ */ #include "face_auth_client.h" -#include "face_auth_log_wrapper.h" + #include "iservice_registry.h" #include "system_ability_definition.h" +#include "iam_logger.h" + +#define LOG_LABEL UserIAM::Common::LABEL_FACE_AUTH_SDK + namespace OHOS { namespace UserIAM { namespace FaceAuth { -std::shared_ptr FaceAuthClient::instance_ = nullptr; -std::mutex FaceAuthClient::mutex_; -FaceAuthClient::FaceAuthClient() = default; -FaceAuthClient::~FaceAuthClient() = default; - int32_t FaceAuthClient::SetBufferProducer(sptr &producer) { - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); + IAM_LOGI("start"); sptr proxy = GetFaceAuthProxy(); if (proxy == nullptr) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "get faceAuthProxy fail"); - return FA_RET_ERROR; + IAM_LOGE("get faceAuthProxy fail"); + return FACEAUTH_ERROR; } return proxy->SetBufferProducer(producer); } void FaceAuthClient::OnRemoteDied(const wptr &remote) { - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); + IAM_LOGI("start"); std::lock_guard lock(mutex_); if ((faceAuthProxy_ != nullptr) && (faceAuthProxy_->AsObject() != nullptr)) { - faceAuthProxy_->AsObject()->RemoveDeathRecipient(recipient_); - recipient_ = nullptr; + faceAuthProxy_->AsObject()->RemoveDeathRecipient(this); } faceAuthProxy_ = nullptr; return; @@ -51,26 +49,28 @@ void FaceAuthClient::OnRemoteDied(const wptr &remote) sptr FaceAuthClient::GetFaceAuthProxy() { - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); + IAM_LOGI("start"); std::lock_guard lock(mutex_); if (faceAuthProxy_ != nullptr) { return faceAuthProxy_; } + sptr systemAbilityManager = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); if (systemAbilityManager == nullptr) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to get systemAbilityManager."); + IAM_LOGE("failed to get systemAbilityManager."); return nullptr; } + sptr remoteObject = systemAbilityManager->GetSystemAbility(SUBSYS_USERIAM_SYS_ABILITY_FACEAUTH); if (remoteObject == nullptr) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to get remoteObject."); + IAM_LOGE("failed to get remoteObject."); return nullptr; } faceAuthProxy_ = iface_cast(remoteObject); if ((faceAuthProxy_ == nullptr) || (faceAuthProxy_->AsObject() == nullptr)) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to get faceAuthProxy_"); + IAM_LOGE("failed to get faceAuthProxy_"); return nullptr; } diff --git a/interfaces/innerkits/faceauth/src/face_auth_innerkit.cpp b/frameworks/face_auth/src/face_auth_innerkit.cpp similarity index 87% rename from interfaces/innerkits/faceauth/src/face_auth_innerkit.cpp rename to frameworks/face_auth/src/face_auth_innerkit.cpp index 75fe12a..8d75e24 100644 --- a/interfaces/innerkits/faceauth/src/face_auth_innerkit.cpp +++ b/frameworks/face_auth/src/face_auth_innerkit.cpp @@ -14,15 +14,15 @@ */ #include "face_auth_innerkit.h" + #include "face_auth_client.h" -#include "face_auth_log_wrapper.h" namespace OHOS { namespace UserIAM { namespace FaceAuth { int32_t FaceAuthInnerKit::SetBufferProducer(sptr producer) { - return DelayedSingleton::GetInstance()->SetBufferProducer(producer); + return Singleton::GetInstance().SetBufferProducer(producer); } } // namespace FaceAuth } // namespace UserIAM diff --git a/interfaces/innerkits/faceauth/src/face_auth_proxy.cpp b/frameworks/face_auth/src/face_auth_proxy.cpp similarity index 69% rename from interfaces/innerkits/faceauth/src/face_auth_proxy.cpp rename to frameworks/face_auth/src/face_auth_proxy.cpp index f590f68..cb3dec0 100644 --- a/interfaces/innerkits/faceauth/src/face_auth_proxy.cpp +++ b/frameworks/face_auth/src/face_auth_proxy.cpp @@ -14,19 +14,16 @@ */ #include "face_auth_proxy.h" -#include "face_auth_log_wrapper.h" + +#include "iam_logger.h" + +#define LOG_LABEL UserIAM::Common::LABEL_FACE_AUTH_SDK namespace OHOS { namespace UserIAM { namespace FaceAuth { FaceAuthProxy::FaceAuthProxy(const sptr &object) : IRemoteProxy(object) { - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); -} - -FaceAuthProxy::~FaceAuthProxy() -{ - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); } int32_t FaceAuthProxy::SetBufferProducer(sptr &bufferProducer) @@ -34,37 +31,37 @@ int32_t FaceAuthProxy::SetBufferProducer(sptr &bufferProducer) MessageParcel data; MessageParcel reply; if (!data.WriteInterfaceToken(FaceAuthProxy::GetDescriptor())) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "write descriptor failed"); - return FA_RET_ERROR; + IAM_LOGE("write descriptor failed"); + return FACEAUTH_ERROR; } if (bufferProducer != nullptr) { if (!data.WriteRemoteObject(bufferProducer->AsObject())) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to WriteRemoteObject(bufferProducer)."); - return FA_RET_ERROR; + IAM_LOGE("failed to WriteRemoteObject(bufferProducer)."); + return FACEAUTH_ERROR; } } bool ret = SendRequest(FACE_AUTH_SET_BUFFER_PRODUCER, data, reply); if (!ret) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to send request."); - return FA_RET_ERROR; + IAM_LOGE("failed to send request."); + return FACEAUTH_ERROR; } int32_t result = reply.ReadInt32(); - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "result = %{public}d", result); + IAM_LOGI("result = %{public}d", result); return result; } bool FaceAuthProxy::SendRequest(uint32_t code, MessageParcel &data, MessageParcel &reply) { - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); + IAM_LOGI("start"); sptr remote = Remote(); if (remote == nullptr) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to get remote."); + IAM_LOGE("failed to get remote."); return false; } MessageOption option(MessageOption::TF_SYNC); int32_t result = remote->SendRequest(code, data, reply, option); if (result != OHOS::NO_ERROR) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to SendRequest.result = %{public}d", result); + IAM_LOGE("failed to SendRequest.result = %{public}d", result); return false; } return true; diff --git a/interfaces/innerkits/faceauth/src/face_auth_stub.cpp b/frameworks/face_auth/src/face_auth_stub.cpp similarity index 58% rename from interfaces/innerkits/faceauth/src/face_auth_stub.cpp rename to frameworks/face_auth/src/face_auth_stub.cpp index 79d5aba..08977a3 100644 --- a/interfaces/innerkits/faceauth/src/face_auth_stub.cpp +++ b/frameworks/face_auth/src/face_auth_stub.cpp @@ -14,23 +14,24 @@ */ #include "face_auth_stub.h" + #include "securec.h" -#include "face_auth_log_wrapper.h" + +#include "iam_check.h" +#include "iam_logger.h" +#include "iam_para2str.h" + +#define LOG_LABEL UserIAM::Common::LABEL_FACE_AUTH_SDK namespace OHOS { namespace UserIAM { namespace FaceAuth { FaceAuthStub::FaceAuthStub() { - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); + IAM_LOGI("start"); RegisterKeyToHandle(); } -FaceAuthStub::~FaceAuthStub() -{ - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); -} - void FaceAuthStub::RegisterKeyToHandle() { keyToHandle_[FACE_AUTH_SET_BUFFER_PRODUCER] = &FaceAuthStub::FaceAuthSetBufferProducer; @@ -40,36 +41,32 @@ int32_t FaceAuthStub::FaceAuthSetBufferProducer(MessageParcel &data, MessageParc { sptr buffer = nullptr; sptr remoteObj = data.ReadRemoteObject(); - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "read remote object %{public}s", - getPointerNullString(remoteObj).c_str()); - if (remoteObj != nullptr) { - buffer = iface_cast(remoteObj); - } + IAM_LOGI("read remote object %{public}s", Common::GetPointerNullStateString(remoteObj).c_str()); + buffer = iface_cast(remoteObj); int32_t ret = SetBufferProducer(buffer); - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "SetBufferProducer ret %{public}d", ret); + IAM_LOGI("SetBufferProducer ret %{public}d", ret); if (!reply.WriteInt32(ret)) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "failed to WriteInt32(ret)"); - return FA_RET_OK; + IAM_LOGE("failed to WriteInt32(ret)"); + return FACEAUTH_ERROR; } - return FA_RET_OK; + return FACEAUTH_SUCCESS; } int32_t FaceAuthStub::OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) { - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "start"); + IAM_LOGI("start"); if (data.ReadInterfaceToken() != FaceAuthStub::GetDescriptor()) { - FACEAUTH_HILOGE(MODULE_FRAMEWORK, "descriptor is not matched"); - return FA_RET_ERROR; + IAM_LOGE("descriptor is not matched"); + return FACEAUTH_ERROR; } auto itFunc = keyToHandle_.find(code); - if (itFunc != keyToHandle_.end()) { - auto requestFunc = itFunc->second; - if (requestFunc != nullptr) { - return (this->*requestFunc)(data, reply); - } + if (itFunc == keyToHandle_.end()) { + IAM_LOGE("key not match, send to IPCObjectStub on default"); + return IPCObjectStub::OnRemoteRequest(code, data, reply, option); } - FACEAUTH_HILOGI(MODULE_FRAMEWORK, "AbilitySchedulerStub::OnRemoteRequest, default case, ignore."); - return IPCObjectStub::OnRemoteRequest(code, data, reply, option); + auto requestFunc = itFunc->second; + IF_FALSE_LOGE_AND_RETURN_VAL(requestFunc != nullptr, FACEAUTH_ERROR); + return (this->*requestFunc)(data, reply); } } // namespace FaceAuth } // namespace UserIAM diff --git a/interfaces/innerkits/faceauth/include/face_auth_innerkit.h b/interfaces/inner_api/face_auth/face_auth_innerkit.h similarity index 100% rename from interfaces/innerkits/faceauth/include/face_auth_innerkit.h rename to interfaces/inner_api/face_auth/face_auth_innerkit.h diff --git a/services/BUILD.gn b/services/BUILD.gn index 9ece810..fcb27d3 100644 --- a/services/BUILD.gn +++ b/services/BUILD.gn @@ -14,13 +14,6 @@ import("//build/ohos.gni") import("//foundation/aafwk/standard/aafwk.gni") -group("faceauthservice_group") { - deps = [] - if (ability_runtime_graphics) { - deps += [ ":faceauthservice" ] - } -} - ohos_shared_library("faceauthservice") { sources = [ "src/face_auth_driver_hdi.cpp", @@ -29,19 +22,17 @@ ohos_shared_library("faceauthservice") { "src/face_auth_service.cpp", ] include_dirs = [ - "include", - "../common/include", - "//base/user_iam/user_auth/interfaces/inner_api/include/userauth/", + "inc", + "//base/user_iam/face_auth/common/inc", "//base/user_iam/user_auth/common/logs", "//base/user_iam/user_auth/common/utils", ] deps = [ - "//base/user_iam/face_auth/interfaces/innerkits/faceauth:faceauth_framework", + "//base/user_iam/face_auth/frameworks/face_auth:faceauth_framework", "//base/user_iam/user_auth/common/executors:userauth_executors", ] external_deps = [ - "device_driver_framework:libhdf_utils", "faceauth_device_driver_interface:libfaceauth_proxy_1.0", "hiviewdfx_hilog_native:libhilog", "safwk:system_ability_fwk", diff --git a/services/include/face_auth_driver_hdi.h b/services/inc/face_auth_driver_hdi.h similarity index 91% rename from services/include/face_auth_driver_hdi.h rename to services/inc/face_auth_driver_hdi.h index bcf5de1..1b8c837 100644 --- a/services/include/face_auth_driver_hdi.h +++ b/services/inc/face_auth_driver_hdi.h @@ -16,12 +16,13 @@ #ifndef FACE_AUTH_DRIVER_HDI #define FACE_AUTH_DRIVER_HDI -#include #include +#include "nocopyable.h" + +#include "iauth_driver_hdi.h" #include "iauth_executor_hdi.h" #include "iremote_broker.h" -#include "nocopyable.h" #include "v1_0/face_auth_interface_proxy.h" namespace OHOS { @@ -31,9 +32,9 @@ namespace FaceHdi = OHOS::HDI::FaceAuth::V1_0; class FaceAuthDriverHdi : public UserAuth::IAuthDriverHdi, public NoCopyable { public: FaceAuthDriverHdi() = default; - virtual ~FaceAuthDriverHdi() = default; + ~FaceAuthDriverHdi() override = default; - void GetExecutorList(std::vector> &executorList); + void GetExecutorList(std::vector> &executorList) override; }; } // namespace FaceAuth } // namespace UserIAM diff --git a/services/include/face_auth_executor_callback_hdi.h b/services/inc/face_auth_executor_callback_hdi.h similarity index 95% rename from services/include/face_auth_executor_callback_hdi.h rename to services/inc/face_auth_executor_callback_hdi.h index 50d676d..ca25876 100644 --- a/services/include/face_auth_executor_callback_hdi.h +++ b/services/inc/face_auth_executor_callback_hdi.h @@ -17,11 +17,12 @@ #define FACE_AUTH_EXECUTOR_CALLBACK_HDI #include -#include + +#include "hdf_base.h" +#include "nocopyable.h" #include "iexecute_callback.h" #include "iexecutor_messenger.h" -#include "nocopyable.h" #include "v1_0/executor_callback_stub.h" namespace OHOS { @@ -31,7 +32,7 @@ namespace FaceHdi = OHOS::HDI::FaceAuth::V1_0; class FaceAuthExecutorCallbackHdi : public FaceHdi::IExecutorCallback, public NoCopyable { public: explicit FaceAuthExecutorCallbackHdi(std::shared_ptr frameworkCallback); - virtual ~FaceAuthExecutorCallbackHdi() = default; + ~FaceAuthExecutorCallbackHdi() override = default; // FaceHdi::IExecutorCallback int32_t OnResult(int32_t result, const std::vector &extraInfo) override; diff --git a/services/include/face_auth_executor_hdi.h b/services/inc/face_auth_executor_hdi.h similarity index 90% rename from services/include/face_auth_executor_hdi.h rename to services/inc/face_auth_executor_hdi.h index d6a9c66..d51877d 100644 --- a/services/include/face_auth_executor_hdi.h +++ b/services/inc/face_auth_executor_hdi.h @@ -18,13 +18,14 @@ #include #include -#include #include +#include "nocopyable.h" + #include "framework_types.h" #include "iauth_executor_hdi.h" #include "iexecute_callback.h" -#include "nocopyable.h" +#include "v1_0/executor_proxy.h" namespace OHOS { namespace UserIAM { @@ -33,23 +34,23 @@ namespace FaceHdi = OHOS::HDI::FaceAuth::V1_0; class FaceAuthExecutorHdi : public UserAuth::IAuthExecutorHdi, public NoCopyable { public: explicit FaceAuthExecutorHdi(sptr executorProxy); - virtual ~FaceAuthExecutorHdi() = default; + ~FaceAuthExecutorHdi() override = default; - UserIAM::ResultCode GetExecutorInfo(UserIAM::ExecutorInfo &info); - UserIAM::ResultCode GetTemplateInfo(uint64_t templateId, UserAuth::TemplateInfo &info); + UserIAM::ResultCode GetExecutorInfo(UserIAM::ExecutorInfo &info) override; + UserIAM::ResultCode GetTemplateInfo(uint64_t templateId, UserAuth::TemplateInfo &info) override; UserIAM::ResultCode OnRegisterFinish(const std::vector &templateIdList, - const std::vector &frameworkPublicKey, const std::vector &extraInfo); + const std::vector &frameworkPublicKey, const std::vector &extraInfo) override; UserIAM::ResultCode Enroll(uint64_t scheduleId, uint64_t callerUid, const std::vector &extraInfo, - const std::shared_ptr &callbackObj); + const std::shared_ptr &callbackObj) override; UserIAM::ResultCode Authenticate(uint64_t scheduleId, uint64_t callerUid, const std::vector &templateIdList, const std::vector &extraInfo, - const std::shared_ptr &callbackObj); + const std::shared_ptr &callbackObj) override; UserIAM::ResultCode Identify(uint64_t scheduleId, uint64_t callerUid, const std::vector &extraInfo, - const std::shared_ptr &callbackObj); - UserIAM::ResultCode Delete(const std::vector &templateIdList); - UserIAM::ResultCode Cancel(uint64_t scheduleId); + const std::shared_ptr &callbackObj) override; + UserIAM::ResultCode Delete(const std::vector &templateIdList) override; + UserIAM::ResultCode Cancel(uint64_t scheduleId) override; UserIAM::ResultCode SendCommand(UserAuth::AuthPropertyMode commandId, const std::vector &extraInfo, - const std::shared_ptr &callbackObj); + const std::shared_ptr &callbackObj) override; private: UserIAM::ResultCode MoveHdiExecutorInfo(FaceHdi::ExecutorInfo &in, UserIAM::ExecutorInfo &out); diff --git a/services/include/face_auth_service.h b/services/inc/face_auth_service.h similarity index 95% rename from services/include/face_auth_service.h rename to services/inc/face_auth_service.h index de19ee2..272d473 100644 --- a/services/include/face_auth_service.h +++ b/services/inc/face_auth_service.h @@ -15,24 +15,24 @@ #ifndef FACE_AUTH_SERVICE_H #define FACE_AUTH_SERVICE_H -#include "face_auth_stub.h" - #include #include #include "nocopyable.h" -#include "system_ability.h" #include "surface.h" +#include "system_ability.h" + +#include "face_auth_stub.h" namespace OHOS { namespace UserIAM { namespace FaceAuth { -class FaceAuthService : public SystemAbility, public FaceAuthStub, public NoCopyable { +class FaceAuthService : public SystemAbility, public FaceAuthStub { DECLEAR_SYSTEM_ABILITY(FaceAuthService); public: FaceAuthService(); - virtual ~FaceAuthService() = default; + ~FaceAuthService() override = default; static std::shared_ptr GetInstance(); void OnStart() override; diff --git a/services/src/face_auth_executor_callback_hdi.cpp b/services/src/face_auth_executor_callback_hdi.cpp index ac16177..a53d77c 100644 --- a/services/src/face_auth_executor_callback_hdi.cpp +++ b/services/src/face_auth_executor_callback_hdi.cpp @@ -70,12 +70,13 @@ UserIAM::ResultCode FaceAuthExecutorCallbackHdi::ConvertResultCode(const int32_t }; UserIAM::ResultCode out; - if (data.count(hdiIn) == 0) { + auto iter = data.find(hdiIn); + if (iter == data.end()) { out = UserIAM::ResultCode::GENERAL_ERROR; IAM_LOGE("convert hdi undefined result code %{public}d to framework result code %{public}d", in, out); return out; } - out = data.at(hdiIn); + out = iter->second; IAM_LOGI("covert hdi result code %{public}d to framework result code %{public}d", hdiIn, out); return out; } diff --git a/services/src/face_auth_executor_hdi.cpp b/services/src/face_auth_executor_hdi.cpp index 53ba8b9..b8e4828 100644 --- a/services/src/face_auth_executor_hdi.cpp +++ b/services/src/face_auth_executor_hdi.cpp @@ -15,9 +15,10 @@ #include "face_auth_executor_hdi.h" +#include "hdf_base.h" + #include "face_auth_defines.h" #include "face_auth_executor_callback_hdi.h" -#include "hdf_base.h" #include "iam_check.h" #include "iam_logger.h" @@ -35,12 +36,12 @@ UserIAM::ResultCode FaceAuthExecutorHdi::GetExecutorInfo(UserIAM::ExecutorInfo & int32_t status = executorProxy_->GetExecutorInfo(localInfo); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("GetExecutorInfo fail ret=%{public}d", result); + IAM_LOGE("GetExecutorInfo fail result %{public}d", result); return result; } - int32_t ret = MoveHdiExecutorInfo(localInfo, info); - if (ret != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("MoveHdiExecutorInfo fail ret=%{public}d", ret); + result = MoveHdiExecutorInfo(localInfo, info); + if (result != UserIAM::ResultCode::SUCCESS) { + IAM_LOGE("MoveHdiExecutorInfo fail result %{public}d", result); return UserIAM::ResultCode::GENERAL_ERROR; } return UserIAM::ResultCode::SUCCESS; @@ -53,12 +54,12 @@ UserIAM::ResultCode FaceAuthExecutorHdi::GetTemplateInfo(uint64_t templateId, Us int32_t status = executorProxy_->GetTemplateInfo(templateId, localInfo); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("GetTemplateInfo fail ret=%{public}d", result); + IAM_LOGE("GetTemplateInfo fail result %{public}d", result); return result; } - int32_t ret = MoveHdiTemplateInfo(localInfo, info); - if (ret != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("MoveHdiTemplateInfo fail ret=%{public}d", ret); + result = MoveHdiTemplateInfo(localInfo, info); + if (result != UserIAM::ResultCode::SUCCESS) { + IAM_LOGE("MoveHdiTemplateInfo fail result %{public}d", result); return UserIAM::ResultCode::GENERAL_ERROR; } return UserIAM::ResultCode::SUCCESS; @@ -71,7 +72,7 @@ UserIAM::ResultCode FaceAuthExecutorHdi::OnRegisterFinish(const std::vectorOnRegisterFinish(templateIdList, frameworkPublicKey, extraInfo); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("OnRegisterFinish fail ret=%{public}d", status); + IAM_LOGE("OnRegisterFinish fail result %{public}d", status); return result; } return UserIAM::ResultCode::SUCCESS; @@ -86,7 +87,7 @@ UserIAM::ResultCode FaceAuthExecutorHdi::Enroll(uint64_t scheduleId, uint64_t ca int32_t status = executorProxy_->Enroll(scheduleId, extraInfo, callback); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("Enroll fail ret=%{public}d", result); + IAM_LOGE("Enroll fail result %{public}d", result); return result; } return UserIAM::ResultCode::SUCCESS; @@ -102,7 +103,7 @@ UserIAM::ResultCode FaceAuthExecutorHdi::Authenticate(uint64_t scheduleId, uint6 int32_t status = executorProxy_->Authenticate(scheduleId, templateIdList, extraInfo, callback); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("Authenticate fail ret=%{public}d", result); + IAM_LOGE("Authenticate fail result %{public}d", result); return result; } return UserIAM::ResultCode::SUCCESS; @@ -117,7 +118,7 @@ UserIAM::ResultCode FaceAuthExecutorHdi::Identify(uint64_t scheduleId, uint64_t int32_t status = executorProxy_->Identify(scheduleId, extraInfo, callback); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("Identify fail ret=%{public}d", result); + IAM_LOGE("Identify fail result %{public}d", result); return result; } return UserIAM::ResultCode::SUCCESS; @@ -129,7 +130,7 @@ UserIAM::ResultCode FaceAuthExecutorHdi::Delete(const std::vector &tem int32_t status = executorProxy_->Delete(templateIdList); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("Delete fail ret=%{public}d", result); + IAM_LOGE("Delete fail result %{public}d", result); return result; } return UserIAM::ResultCode::SUCCESS; @@ -141,7 +142,7 @@ UserIAM::ResultCode FaceAuthExecutorHdi::Cancel(uint64_t scheduleId) int32_t status = executorProxy_->Cancel(scheduleId); UserIAM::ResultCode result = ConvertResultCode(status); if (result != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("Cancel fail ret=%{public}d", result); + IAM_LOGE("Cancel fail result %{public}d", result); return result; } return UserIAM::ResultCode::SUCCESS; @@ -152,16 +153,16 @@ UserIAM::ResultCode FaceAuthExecutorHdi::SendCommand(UserAuth::AuthPropertyMode { IF_FALSE_LOGE_AND_RETURN_VAL(executorProxy_ != nullptr, UserIAM::ResultCode::GENERAL_ERROR); FaceHdi::CommandId hdiCommandId; - int32_t ret = ConvertCommandId(commandId, hdiCommandId); - if (ret != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("ConvertCommandId fail ret=%{public}d", ret); + UserIAM::ResultCode result = ConvertCommandId(commandId, hdiCommandId); + if (result != UserIAM::ResultCode::SUCCESS) { + IAM_LOGE("ConvertCommandId fail result %{public}d", result); return UserIAM::ResultCode::GENERAL_ERROR; } int32_t status = executorProxy_->SendCommand(hdiCommandId, extraInfo, sptr(new (std::nothrow) FaceAuthExecutorCallbackHdi(callbackObj))); - UserIAM::ResultCode result = ConvertResultCode(status); + result = ConvertResultCode(status); if (status != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("SendCommand fail ret=%{public}d", status); + IAM_LOGE("SendCommand fail result %{public}d", status); return result; } return UserIAM::ResultCode::SUCCESS; @@ -171,19 +172,19 @@ UserIAM::ResultCode FaceAuthExecutorHdi::MoveHdiExecutorInfo(FaceHdi::ExecutorIn { out.executorId = static_cast(in.sensorId); out.executorType = static_cast(in.executorType); - int32_t ret = ConvertExecutorRole(in.executorRole, out.role); - if (ret != UserIAM::ResultCode::SUCCESS) { + UserIAM::ResultCode result = ConvertExecutorRole(in.executorRole, out.role); + if (result != UserIAM::ResultCode::SUCCESS) { IAM_LOGE("executorProxy is null"); return UserIAM::ResultCode::GENERAL_ERROR; } - ret = ConvertAuthType(in.authType, out.authType); - if (ret != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("ConvertAuthType fail ret=%{public}d", ret); + result = ConvertAuthType(in.authType, out.authType); + if (result != UserIAM::ResultCode::SUCCESS) { + IAM_LOGE("ConvertAuthType fail result %{public}d", result); return UserIAM::ResultCode::GENERAL_ERROR; } - ret = ConvertExecutorSecureLevel(in.esl, out.esl); - if (ret != UserIAM::ResultCode::SUCCESS) { - IAM_LOGE("ConvertExecutorSecureLevel fail ret=%{public}d", ret); + result = ConvertExecutorSecureLevel(in.esl, out.esl); + if (result != UserIAM::ResultCode::SUCCESS) { + IAM_LOGE("ConvertExecutorSecureLevel fail result %{public}d", result); return UserIAM::ResultCode::GENERAL_ERROR; } in.publicKey.swap(out.publicKey); @@ -210,11 +211,12 @@ UserIAM::ResultCode FaceAuthExecutorHdi::ConvertCommandId(const UserAuth::AuthPr static const std::map data = { {UserAuth::AuthPropertyMode::PROPERMODE_FREEZE, FaceHdi::CommandId::LOCK_TEMPLATE}, {UserAuth::AuthPropertyMode::PROPERMODE_UNFREEZE, FaceHdi::CommandId::UNLOCK_TEMPLATE}}; - if (data.count(in) == 0) { + auto iter = data.find(in); + if (iter == data.end()) { IAM_LOGE("command id %{public}d is invalid", in); return UserIAM::ResultCode::GENERAL_ERROR; } - out = data.at(in); + out = iter->second; IAM_LOGI("covert command id %{public}d to idl command is %{public}d", in, out); return UserIAM::ResultCode::SUCCESS; } @@ -224,11 +226,12 @@ UserIAM::ResultCode FaceAuthExecutorHdi::ConvertAuthType(const FaceHdi::AuthType static const std::map data = { {FaceHdi::FACE, UserIAM::AuthType::FACE}, }; - if (data.count(in) == 0) { + auto iter = data.find(in); + if (iter == data.end()) { IAM_LOGE("authType %{public}d is invalid", in); return UserIAM::ResultCode::GENERAL_ERROR; } - out = data.at(in); + out = iter->second; return UserIAM::ResultCode::SUCCESS; } @@ -239,11 +242,12 @@ UserIAM::ResultCode FaceAuthExecutorHdi::ConvertExecutorRole(const FaceHdi::Exec {FaceHdi::ExecutorRole::VERIFIER, UserIAM::ExecutorRole::VERIFIER}, {FaceHdi::ExecutorRole::ALL_IN_ONE, UserIAM::ExecutorRole::ALL_IN_ONE}, }; - if (data.count(in) == 0) { + auto iter = data.find(in); + if (iter == data.end()) { IAM_LOGE("executorRole %{public}d is invalid", in); return UserIAM::ResultCode::GENERAL_ERROR; } - out = data.at(in); + out = iter->second; return UserIAM::ResultCode::SUCCESS; } @@ -256,11 +260,12 @@ UserIAM::ResultCode FaceAuthExecutorHdi::ConvertExecutorSecureLevel( {FaceHdi::ExecutorSecureLevel::ESL2, UserIAM::ExecutorSecureLevel::ESL2}, {FaceHdi::ExecutorSecureLevel::ESL3, UserIAM::ExecutorSecureLevel::ESL3}, }; - if (data.count(in) == 0) { + auto iter = data.find(in); + if (iter == data.end()) { IAM_LOGE("executorSecureLevel %{public}d is invalid", in); return UserIAM::ResultCode::GENERAL_ERROR; } - out = data.at(in); + out = iter->second; return UserIAM::ResultCode::SUCCESS; } @@ -276,10 +281,11 @@ UserIAM::ResultCode FaceAuthExecutorHdi::ConvertResultCode(const int32_t in) }; UserIAM::ResultCode out; - if (data.count(hdfIn) == 0) { + auto iter = data.find(hdfIn); + if (iter == data.end()) { out = UserIAM::ResultCode::GENERAL_ERROR; } else { - out = data.at(hdfIn); + out = iter->second; } IAM_LOGE("covert hdi result code %{public}d to framework result code %{public}d", in, out); return out; diff --git a/services/src/face_auth_service.cpp b/services/src/face_auth_service.cpp index ddfa8b0..02eec35 100644 --- a/services/src/face_auth_service.cpp +++ b/services/src/face_auth_service.cpp @@ -17,14 +17,15 @@ #include +#include "idriver_manager.h" +#include "system_ability_definition.h" + #include "face_auth_defines.h" #include "face_auth_driver_hdi.h" #include "iam_check.h" #include "iam_logger.h" #include "iam_para2str.h" #include "iam_ptr.h" -#include "idriver_manager.h" -#include "system_ability_definition.h" #define LOG_LABEL UserIAM::Common::LABEL_FACE_AUTH_SA