blob: 6dc28bcb73c537d6dc802a34a9adf07c0b7dd6ac [file] [log] [blame]
/*
* Copyright 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <gmock/gmock.h>
#include "DisplayHardware/HWC2.h"
using HWC2::Error;
using HWC2::Layer;
namespace android {
namespace Hwc2 {
namespace mock {
class Display : public HWC2::Display {
public:
Display();
~Display();
MOCK_CONST_METHOD0(getId, hwc2_layer_t());
MOCK_CONST_METHOD0(isConnected, bool());
MOCK_METHOD1(setConnected, void(bool));
MOCK_CONST_METHOD0(getCapabilities, const std::unordered_set<HWC2::DisplayCapability>&());
MOCK_METHOD0(acceptChanges, Error());
MOCK_METHOD1(createLayer, Error(Layer**));
MOCK_METHOD1(destroyLayer, Error(Layer*));
MOCK_CONST_METHOD1(getActiveConfig, Error(std::shared_ptr<const Config>*));
MOCK_CONST_METHOD1(getActiveConfigIndex, Error(int* outIndex));
MOCK_METHOD1(getChangedCompositionTypes, Error(std::unordered_map<Layer*, HWC2::Composition>*));
MOCK_CONST_METHOD1(getColorModes, Error(std::vector<android::ui::ColorMode>*));
MOCK_CONST_METHOD0(getSupportedPerFrameMetadata, int32_t());
MOCK_CONST_METHOD2(getRenderIntents,
Error(android::ui::ColorMode, std::vector<android::ui::RenderIntent>*));
MOCK_METHOD2(getDataspaceSaturationMatrix, Error(android::ui::Dataspace, android::mat4*));
MOCK_CONST_METHOD0(getConfigs, std::vector<std::shared_ptr<const Config>>());
MOCK_CONST_METHOD1(getName, Error(std::string*));
MOCK_METHOD2(getRequests,
Error(HWC2::DisplayRequest*, std::unordered_map<Layer*, HWC2::LayerRequest>*));
MOCK_CONST_METHOD1(getType, Error(HWC2::DisplayType*));
MOCK_CONST_METHOD1(supportsDoze, Error(bool*));
MOCK_CONST_METHOD1(getHdrCapabilities, Error(android::HdrCapabilities*));
MOCK_CONST_METHOD3(getDisplayedContentSamplingAttributes,
Error(android::ui::PixelFormat*, android::ui::Dataspace*, uint8_t*));
MOCK_CONST_METHOD3(setDisplayContentSamplingEnabled, Error(bool, uint8_t, uint64_t));
MOCK_CONST_METHOD3(getDisplayedContentSample,
Error(uint64_t, uint64_t, android::DisplayedFrameStats*));
MOCK_CONST_METHOD1(getReleaseFences,
Error(std::unordered_map<Layer*, android::sp<android::Fence>>* outFences));
MOCK_METHOD1(present, Error(android::sp<android::Fence>*));
MOCK_METHOD1(setActiveConfig, Error(const std::shared_ptr<const HWC2::Display::Config>&));
MOCK_METHOD4(setClientTarget,
Error(uint32_t, const android::sp<android::GraphicBuffer>&,
const android::sp<android::Fence>&, android::ui::Dataspace));
MOCK_METHOD2(setColorMode, Error(android::ui::ColorMode, android::ui::RenderIntent));
MOCK_METHOD2(setColorTransform, Error(const android::mat4&, android_color_transform_t));
MOCK_METHOD2(setOutputBuffer,
Error(const android::sp<android::GraphicBuffer>&,
const android::sp<android::Fence>&));
MOCK_METHOD1(setPowerMode, Error(HWC2::PowerMode));
MOCK_METHOD1(setVsyncEnabled, Error(HWC2::Vsync));
MOCK_METHOD2(validate, Error(uint32_t*, uint32_t*));
MOCK_METHOD4(presentOrValidate,
Error(uint32_t*, uint32_t*, android::sp<android::Fence>*, uint32_t*));
MOCK_CONST_METHOD1(setDisplayBrightness, Error(float));
};
} // namespace mock
} // namespace Hwc2
} // namespace android