1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "ohos_adapter/bridge/ark_display_manager_adapter_wrapper.h"
17 
18 #include "ohos_adapter/bridge/ark_display_adapter_wrapper.h"
19 #include "ohos_adapter/bridge/ark_display_listener_adapter_impl.h"
20 #include "ohos_adapter/bridge/ark_fold_status_listener_adapter_impl.h"
21 
22 #include "base/bridge/ark_web_bridge_macros.h"
23 
24 namespace OHOS::ArkWeb {
25 
ArkDisplayManagerAdapterWrapper(ArkWebRefPtr<ArkDisplayManagerAdapter> ref)26 ArkDisplayManagerAdapterWrapper::ArkDisplayManagerAdapterWrapper(ArkWebRefPtr<ArkDisplayManagerAdapter> ref)
27     : ctocpp_(ref)
28 {}
29 
GetDefaultDisplayId()30 OHOS::NWeb::DisplayId ArkDisplayManagerAdapterWrapper::GetDefaultDisplayId()
31 {
32     return ctocpp_->GetDefaultDisplayId();
33 }
34 
GetDefaultDisplay()35 std::shared_ptr<OHOS::NWeb::DisplayAdapter> ArkDisplayManagerAdapterWrapper::GetDefaultDisplay()
36 {
37     ArkWebRefPtr<ArkDisplayAdapter> ref = ctocpp_->GetDefaultDisplay();
38     if (CHECK_REF_PTR_IS_NULL(ref)) {
39         return nullptr;
40     }
41 
42     return std::make_shared<ArkDisplayAdapterWrapper>(ref);
43 }
44 
RegisterDisplayListener(std::shared_ptr<OHOS::NWeb::DisplayListenerAdapter> listener)45 uint32_t ArkDisplayManagerAdapterWrapper::RegisterDisplayListener(
46     std::shared_ptr<OHOS::NWeb::DisplayListenerAdapter> listener)
47 {
48     if (CHECK_SHARED_PTR_IS_NULL(listener)) {
49         return ctocpp_->RegisterDisplayListener(nullptr);
50     }
51 
52     return ctocpp_->RegisterDisplayListener(new ArkDisplayListenerAdapterImpl(listener));
53 }
54 
UnregisterDisplayListener(uint32_t id)55 bool ArkDisplayManagerAdapterWrapper::UnregisterDisplayListener(uint32_t id)
56 {
57     return ctocpp_->UnregisterDisplayListener(id);
58 }
59 
IsDefaultPortrait()60 bool ArkDisplayManagerAdapterWrapper::IsDefaultPortrait()
61 {
62     return ctocpp_->IsDefaultPortrait();
63 }
64 
RegisterFoldStatusListener(std::shared_ptr<OHOS::NWeb::FoldStatusListenerAdapter> listener)65 uint32_t ArkDisplayManagerAdapterWrapper::RegisterFoldStatusListener(
66     std::shared_ptr<OHOS::NWeb::FoldStatusListenerAdapter> listener)
67 {
68     if (CHECK_SHARED_PTR_IS_NULL(listener)) {
69         return ctocpp_->RegisterFoldStatusListener(nullptr);
70     }
71 
72     return ctocpp_->RegisterFoldStatusListener(new ArkFoldStatusListenerAdapterImpl(listener));
73 }
74 
UnregisterFoldStatusListener(uint32_t id)75 bool ArkDisplayManagerAdapterWrapper::UnregisterFoldStatusListener(uint32_t id)
76 {
77     return ctocpp_->UnregisterFoldStatusListener(id);
78 }
79 } // namespace OHOS::ArkWeb
80