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