1 /* 2 * Copyright (c) 2022-2023 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 17 #ifndef HDI_DISPLAY_REGISTER_CALLBACK_FRAMEWORK_H 18 #define HDI_DISPLAY_REGISTER_CALLBACK_FRAMEWORK_H 19 20 #include "display_device_callback_stub.h" 21 22 class DisplayRegisterCallbackFramework : public DisplayDeviceCallbackStub { 23 public: 24 DisplayRegisterCallbackFramework() = default; 25 virtual ~DisplayRegisterCallbackFramework() = default; 26 virtual int32_t OnHotplugIn(uint32_t outputId, bool connected) override; 27 void SetHotplugInData(HotPlugCallback callback, void* data); 28 virtual int32_t OnVBlankCallback(unsigned int sequence, uint64_t ns) override; 29 void SetVBlankData(VBlankCallback callback, void* data); 30 virtual int32_t OnRefreshCallback(uint32_t devId) override; 31 void SetRefreshData(RefreshCallback callback, void* data); 32 private: 33 HotPlugCallback hotCallback_; 34 void* hotCallbackData_; 35 VBlankCallback vBlankCallback_; 36 void* vBlankCallbackData_; 37 RefreshCallback refreshCallback_; 38 void* refreshCallbackData_; 39 }; 40 #endif // HDI_DISPLAY_REGISTER_CALLBACK_FRAMEWORK_H 41