1 /* 2 * Copyright (c) 2021 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 #ifndef GRAPHIC_2D_COMPOSER_HDIDEVICE_MOCK_H 17 #define GRAPHIC_2D_COMPOSER_HDIDEVICE_MOCK_H 18 19 #include "hdi_device.h" 20 21 #include <gmock/gmock.h> 22 23 namespace OHOS { 24 namespace Rosen { 25 namespace MockSys { 26 class HdiDeviceMock : public HdiDevice { 27 public: 28 HdiDeviceMock(); 29 ~HdiDeviceMock() override; 30 31 static HdiDeviceMock* GetInstance(); 32 33 /* set & get device screen info begin */ 34 MOCK_METHOD2(RegHotPlugCallback, int32_t(HotPlugCallback, void*)); 35 MOCK_METHOD2(RegRefreshCallback, int32_t(RefreshCallback, void*)); 36 MOCK_METHOD3(RegScreenVBlankCallback, int32_t(uint32_t, VBlankCallback, void*)); 37 MOCK_METHOD2(RegHwcDeadCallback, bool(OnHwcDeadCallback, void*)); 38 MOCK_METHOD2(RegScreenVBlankIdleCallback, int32_t(OnVBlankIdleCallback, void*)); 39 MOCK_METHOD4(SetScreenConstraint, int32_t(uint32_t, uint64_t, uint64_t, uint32_t)); 40 MOCK_METHOD3(GetDisplayProperty, int32_t(uint32_t, uint32_t, uint64_t&)); 41 MOCK_METHOD2(GetScreenCapability, int32_t(uint32_t, GraphicDisplayCapability&)); 42 MOCK_METHOD2(GetScreenSupportedModes, int32_t(uint32_t, std::vector<GraphicDisplayModeInfo>&)); 43 MOCK_METHOD2(GetScreenMode, int32_t(uint32_t, uint32_t&)); 44 MOCK_METHOD2(SetScreenMode, int32_t(uint32_t, uint32_t)); 45 MOCK_METHOD3(SetScreenOverlayResolution, int32_t(uint32_t, uint32_t, uint32_t)); 46 MOCK_METHOD2(GetScreenPowerStatus, int32_t(uint32_t, GraphicDispPowerStatus&)); 47 MOCK_METHOD2(SetScreenPowerStatus, int32_t(uint32_t, GraphicDispPowerStatus)); 48 MOCK_METHOD2(GetScreenBacklight, int32_t(uint32_t, uint32_t&)); 49 MOCK_METHOD2(SetScreenBacklight, int32_t(uint32_t, uint32_t)); 50 MOCK_METHOD2(PrepareScreenLayers, int32_t(uint32_t, bool&)); 51 MOCK_METHOD3(GetScreenCompChange, int32_t(uint32_t, std::vector<uint32_t>&, std::vector<int32_t>&)); 52 MOCK_METHOD4(SetScreenClientBuffer, int32_t(uint32_t, const BufferHandle*, uint32_t, const sptr<SyncFence>&)); 53 MOCK_METHOD2(SetScreenClientBufferCacheCount, int32_t(uint32_t, uint32_t)); 54 MOCK_METHOD2(SetScreenClientDamage, int32_t(uint32_t, const std::vector<GraphicIRect> &damageRect)); 55 MOCK_METHOD2(SetScreenVsyncEnabled, int32_t(uint32_t, bool)); 56 MOCK_METHOD2(GetScreenSupportedColorGamuts, int32_t(uint32_t, std::vector<GraphicColorGamut>&)); 57 MOCK_METHOD2(SetScreenColorGamut, int32_t(uint32_t, GraphicColorGamut)); 58 MOCK_METHOD2(GetScreenColorGamut, int32_t(uint32_t, GraphicColorGamut&)); 59 MOCK_METHOD2(SetScreenGamutMap, int32_t(uint32_t, GraphicGamutMap)); 60 MOCK_METHOD2(GetScreenGamutMap, int32_t(uint32_t, GraphicGamutMap&)); 61 MOCK_METHOD2(SetScreenColorTransform, int32_t(uint32_t, const std::vector<float> &matrix)); 62 MOCK_METHOD2(GetHDRCapabilityInfos, int32_t(uint32_t, GraphicHDRCapability&)); 63 MOCK_METHOD2(GetSupportedMetaDataKey, int32_t(uint32_t, std::vector<GraphicHDRMetadataKey>&)); 64 MOCK_METHOD2(Commit, int32_t(uint32_t, sptr<SyncFence>&)); 65 /* set & get device screen info end */ 66 67 /* set & get device layer info begin */ 68 MOCK_METHOD3(SetLayerAlpha, int32_t(uint32_t, uint32_t, const GraphicLayerAlpha&)); 69 MOCK_METHOD3(SetLayerSize, int32_t(uint32_t, uint32_t, const GraphicIRect&)); 70 MOCK_METHOD3(SetTransformMode, int32_t(uint32_t, uint32_t, GraphicTransformType)); 71 72 MOCK_METHOD3(SetLayerVisibleRegion, int32_t(uint32_t, uint32_t, const std::vector<GraphicIRect>&)); 73 MOCK_METHOD3(SetLayerDirtyRegion, int32_t(uint32_t, uint32_t, const std::vector<GraphicIRect>&)); 74 MOCK_METHOD3(SetLayerBuffer, int32_t(uint32_t, uint32_t, const GraphicLayerBuffer&)); 75 MOCK_METHOD3(SetLayerCompositionType, int32_t(uint32_t, uint32_t, GraphicCompositionType)); 76 MOCK_METHOD3(SetLayerBlendType, int32_t(uint32_t, uint32_t, GraphicBlendType)); 77 MOCK_METHOD3(SetLayerCrop, int32_t(uint32_t, uint32_t, const GraphicIRect&)); 78 MOCK_METHOD3(SetLayerZorder, int32_t(uint32_t, uint32_t, uint32_t)); 79 MOCK_METHOD3(SetLayerPreMulti, int32_t(uint32_t, uint32_t, bool)); 80 MOCK_METHOD3(SetLayerColor, int32_t(uint32_t, uint32_t, GraphicLayerColor)); 81 MOCK_METHOD3(SetLayerColorTransform, int32_t(uint32_t, uint32_t, const std::vector<float> &matrix)); 82 MOCK_METHOD3(SetLayerColorDataSpace, int32_t(uint32_t, uint32_t, GraphicColorDataSpace)); 83 MOCK_METHOD3(GetLayerColorDataSpace, int32_t(uint32_t, uint32_t, GraphicColorDataSpace&)); 84 MOCK_METHOD3(SetLayerMetaData, int32_t(uint32_t, uint32_t, const std::vector<GraphicHDRMetaData>&)); 85 MOCK_METHOD4(SetLayerMetaDataSet, int32_t(uint32_t, uint32_t, GraphicHDRMetadataKey, const std::vector<uint8_t>&)); 86 MOCK_METHOD0(GetSupportedLayerPerFrameParameterKey, std::vector<std::string>&()); 87 MOCK_METHOD4(SetLayerPerFrameParameter, 88 int32_t(uint32_t, uint32_t, const std::string&, const std::vector<int8_t>&)); 89 MOCK_METHOD3(SetLayerTunnelHandle, int32_t(uint32_t, uint32_t, GraphicExtDataHandle *)); 90 MOCK_METHOD3(GetSupportedPresentTimestampType, int32_t(uint32_t, uint32_t, GraphicPresentTimestampType&)); 91 MOCK_METHOD3(GetPresentTimestamp, int32_t(uint32_t, uint32_t, GraphicPresentTimestamp&)); 92 MOCK_METHOD3(SetLayerMaskInfo, int32_t(uint32_t, uint32_t, uint32_t)); 93 /* set & get device layer info end */ 94 95 MOCK_METHOD4(CreateLayer, int32_t(uint32_t, const GraphicLayerInfo&, uint32_t, uint32_t&)); 96 MOCK_METHOD2(CloseLayer, int32_t(uint32_t, uint32_t)); 97 MOCK_METHOD2(ClearLayerBuffer, int32_t(uint32_t, uint32_t)); 98 MOCK_METHOD1(ClearClientBuffer, int32_t(uint32_t)); 99 100 MOCK_METHOD7(CommitAndGetReleaseFence, int32_t(uint32_t, sptr<SyncFence>&, int32_t&, bool&, 101 std::vector<uint32_t>&, std::vector<sptr<SyncFence>>&, bool)); 102 MOCK_METHOD0(Destroy, void()); 103 }; 104 } // namespace MockSys 105 } // namespace Rosen 106 } // namespace OHOS 107 #endif // GRAPHIC_2D_COMPOSER_HDIDEVICE_MOCK_H