diff --git a/services/native/include/power_mgr_service.h b/services/native/include/power_mgr_service.h index 0741f57d33f22ef0d39160d81a186be76f7defde..7bb390f213056170311fa433e7cba6198311c72d 100644 --- a/services/native/include/power_mgr_service.h +++ b/services/native/include/power_mgr_service.h @@ -44,6 +44,9 @@ namespace OHOS { namespace PowerMgr { +// Explicit specialization declaration. The class has been forward-declared in some of the headers. +// Visible for TUs that include this header. +template<> sptr DelayedSpSingleton::instance_; #ifdef POWER_MANAGER_ENABLE_CHARGING_TYPE_SETTING enum class PowerConnectStatus : int32_t { POWER_CONNECT_INVALID = -1, diff --git a/services/native/src/power_mgr_service.cpp b/services/native/src/power_mgr_service.cpp index f5b3c5638a1f55002ec18a8d6e5be8bec049697a..db60655cf17bdc9c82acd6fff28850968abba819 100644 --- a/services/native/src/power_mgr_service.cpp +++ b/services/native/src/power_mgr_service.cpp @@ -64,6 +64,8 @@ using namespace OHOS::AppExecFwk; using namespace OHOS::AAFwk; namespace OHOS { namespace PowerMgr { +// Explicit specialization definition(an initializer is required for it to be a definition) +template<> sptr DelayedSpSingleton::instance_ {}; namespace { MODULE_MGR *g_moduleMgr = nullptr; #if (defined(__aarch64__) || defined(__x86_64__))