• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_METHOD2(SetScreenActiveRect, int32_t(uint32_t, const GraphicIRect&));
46     MOCK_METHOD3(SetScreenOverlayResolution, int32_t(uint32_t, uint32_t, uint32_t));
47     MOCK_METHOD2(GetScreenPowerStatus, int32_t(uint32_t, GraphicDispPowerStatus&));
48     MOCK_METHOD2(SetScreenPowerStatus, int32_t(uint32_t, GraphicDispPowerStatus));
49     MOCK_METHOD2(GetScreenBacklight, int32_t(uint32_t, uint32_t&));
50     MOCK_METHOD2(SetScreenBacklight, int32_t(uint32_t, uint32_t));
51     MOCK_METHOD2(PrepareScreenLayers, int32_t(uint32_t, bool&));
52     MOCK_METHOD3(GetScreenCompChange, int32_t(uint32_t, std::vector<uint32_t>&, std::vector<int32_t>&));
53     MOCK_METHOD4(SetScreenClientBuffer, int32_t(uint32_t, const BufferHandle*, uint32_t, const sptr<SyncFence>&));
54     MOCK_METHOD2(SetScreenClientBufferCacheCount, int32_t(uint32_t, uint32_t));
55     MOCK_METHOD2(SetScreenClientDamage, int32_t(uint32_t, const std::vector<GraphicIRect> &damageRect));
56     MOCK_METHOD2(SetScreenVsyncEnabled, int32_t(uint32_t, bool));
57     MOCK_METHOD2(GetScreenSupportedColorGamuts, int32_t(uint32_t, std::vector<GraphicColorGamut>&));
58     MOCK_METHOD2(SetScreenColorGamut, int32_t(uint32_t, GraphicColorGamut));
59     MOCK_METHOD2(GetScreenColorGamut, int32_t(uint32_t, GraphicColorGamut&));
60     MOCK_METHOD2(SetScreenGamutMap, int32_t(uint32_t, GraphicGamutMap));
61     MOCK_METHOD2(GetScreenGamutMap, int32_t(uint32_t, GraphicGamutMap&));
62     MOCK_METHOD2(SetScreenColorTransform, int32_t(uint32_t, const std::vector<float> &matrix));
63     MOCK_METHOD2(GetHDRCapabilityInfos, int32_t(uint32_t, GraphicHDRCapability&));
64     MOCK_METHOD2(GetSupportedMetaDataKey, int32_t(uint32_t, std::vector<GraphicHDRMetadataKey>&));
65     MOCK_METHOD2(Commit, int32_t(uint32_t, sptr<SyncFence>&));
66     /* set & get device screen info end */
67 
68     /* set & get device layer info begin */
69     MOCK_METHOD3(SetLayerAlpha, int32_t(uint32_t, uint32_t, const GraphicLayerAlpha&));
70     MOCK_METHOD3(SetLayerSize, int32_t(uint32_t, uint32_t, const GraphicIRect&));
71     MOCK_METHOD3(SetTransformMode, int32_t(uint32_t, uint32_t, GraphicTransformType));
72 
73     MOCK_METHOD3(SetLayerVisibleRegion, int32_t(uint32_t, uint32_t, const std::vector<GraphicIRect>&));
74     MOCK_METHOD3(SetLayerDirtyRegion, int32_t(uint32_t, uint32_t, const std::vector<GraphicIRect>&));
75     MOCK_METHOD3(SetLayerBuffer, int32_t(uint32_t, uint32_t, const GraphicLayerBuffer&));
76     MOCK_METHOD3(SetLayerCompositionType, int32_t(uint32_t, uint32_t, GraphicCompositionType));
77     MOCK_METHOD3(SetLayerBlendType, int32_t(uint32_t, uint32_t, GraphicBlendType));
78     MOCK_METHOD3(SetLayerCrop, int32_t(uint32_t, uint32_t, const GraphicIRect&));
79     MOCK_METHOD3(SetLayerZorder, int32_t(uint32_t, uint32_t, uint32_t));
80     MOCK_METHOD3(SetLayerPreMulti, int32_t(uint32_t, uint32_t, bool));
81     MOCK_METHOD3(SetLayerColor, int32_t(uint32_t, uint32_t, GraphicLayerColor));
82     MOCK_METHOD3(SetLayerColorTransform, int32_t(uint32_t, uint32_t, const std::vector<float> &matrix));
83     MOCK_METHOD3(SetLayerColorDataSpace, int32_t(uint32_t, uint32_t, GraphicColorDataSpace));
84     MOCK_METHOD3(GetLayerColorDataSpace, int32_t(uint32_t, uint32_t, GraphicColorDataSpace&));
85     MOCK_METHOD3(SetLayerMetaData, int32_t(uint32_t, uint32_t, const std::vector<GraphicHDRMetaData>&));
86     MOCK_METHOD4(SetLayerMetaDataSet, int32_t(uint32_t, uint32_t, GraphicHDRMetadataKey, const std::vector<uint8_t>&));
87     MOCK_METHOD0(GetSupportedLayerPerFrameParameterKey, std::vector<std::string>&());
88     MOCK_METHOD4(SetLayerPerFrameParameter,
89                  int32_t(uint32_t, uint32_t, const std::string&, const std::vector<int8_t>&));
90     MOCK_METHOD3(SetLayerTunnelHandle, int32_t(uint32_t, uint32_t, GraphicExtDataHandle *));
91     MOCK_METHOD3(GetSupportedPresentTimestampType, int32_t(uint32_t, uint32_t, GraphicPresentTimestampType&));
92     MOCK_METHOD3(GetPresentTimestamp, int32_t(uint32_t, uint32_t, GraphicPresentTimestamp&));
93     MOCK_METHOD3(SetLayerMaskInfo, int32_t(uint32_t, uint32_t, uint32_t));
94     /* set & get device layer info end */
95 
96     MOCK_METHOD4(CreateLayer, int32_t(uint32_t, const GraphicLayerInfo&, uint32_t, uint32_t&));
97     MOCK_METHOD2(CloseLayer, int32_t(uint32_t, uint32_t));
98     MOCK_METHOD2(ClearLayerBuffer, int32_t(uint32_t, uint32_t));
99     MOCK_METHOD1(ClearClientBuffer, int32_t(uint32_t));
100 
101     MOCK_METHOD7(CommitAndGetReleaseFence, int32_t(uint32_t, sptr<SyncFence>&, int32_t&, bool&,
102         std::vector<uint32_t>&, std::vector<sptr<SyncFence>>&, bool));
103     MOCK_METHOD0(Destroy, void());
104 };
105 } // namespace MockSys
106 } // namespace Rosen
107 } // namespace OHOS
108 #endif // GRAPHIC_2D_COMPOSER_HDIDEVICE_MOCK_H