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 "ihdi_display_register_callback_framework.h"
17 
OnHotplugIn(uint32_t outputId,bool connected)18 int32_t DisplayRegisterCallbackFramework::OnHotplugIn(uint32_t outputId, bool connected)
19 {
20     DISPLAY_START;
21     if (hotCallback_) {
22         hotCallback_(outputId, connected, hotCallbackData_);
23     }
24     DISPLAY_END;
25     return 0;
26 }
27 
SetHotplugInData(HotPlugCallback callback,void * data)28 void DisplayRegisterCallbackFramework::SetHotplugInData(HotPlugCallback callback, void* data)
29 {
30     DISPLAY_START;
31     hotCallback_ = callback;
32     hotCallbackData_ = data;
33     DISPLAY_END;
34 }
35 
OnVBlankCallback(unsigned int sequence,uint64_t ns)36 int32_t DisplayRegisterCallbackFramework::OnVBlankCallback(unsigned int sequence, uint64_t ns)
37 {
38     DISPLAY_START;
39     if (vBlankCallback_) {
40         vBlankCallback_(sequence, ns, vBlankCallbackData_);
41     }
42     DISPLAY_END;
43     return 0;
44 }
SetVBlankData(VBlankCallback callback,void * data)45 void DisplayRegisterCallbackFramework::SetVBlankData(VBlankCallback callback, void* data)
46 {
47     DISPLAY_START;
48     vBlankCallback_ = callback;
49     vBlankCallbackData_ = data;
50     DISPLAY_END;
51 }
52 
OnRefreshCallback(uint32_t devId)53 int32_t DisplayRegisterCallbackFramework::OnRefreshCallback(uint32_t devId)
54 {
55     DISPLAY_START;
56     if (refreshCallback_) {
57         refreshCallback_(devId, refreshCallbackData_);
58     }
59     DISPLAY_END;
60     return 0;
61 }
SetRefreshData(RefreshCallback callback,void * data)62 void DisplayRegisterCallbackFramework::SetRefreshData(RefreshCallback callback, void* data)
63 {
64     DISPLAY_START;
65     refreshCallback_ = callback;
66     refreshCallbackData_ = data;
67     DISPLAY_END;
68 }
69