embedded-framework/test/hal/tool/src/CameraHalMock.h
2024-04-29 16:04:22 +08:00

42 lines
1.4 KiB
C++

/*
* Copyright (c) 2023 Fancy Code.
* 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.
*/
#ifndef CAMERA_HAL_MOCK_H
#define CAMERA_HAL_MOCK_H
#include "HalCpp.h"
#include "HalTestTool.h"
class CameraHalTest : public VCameraHal
{
public:
CameraHalTest(const CameraType &cameraType);
virtual ~CameraHalTest() = default;
void SetCameraMonitor(std::shared_ptr<VCameraHalMonitor> &monitor) override;
private:
virtual void SetCameraMonitorTrace(std::shared_ptr<VCameraHalMonitor> &monitor);
protected:
const CameraType mCameraType;
std::weak_ptr<VCameraHalMonitor> mMonitor;
std::shared_ptr<CameraReportEvent> mFastBootEvent;
};
class CameraHalMock : public CameraHalTest
{
public:
CameraHalMock(const CameraType &cameraType);
virtual ~CameraHalMock() = default;
void MockReportCameraEvent(const CameraReportEvent &event);
MOCK_METHOD1(SetCameraMonitorTrace, void(std::shared_ptr<VCameraHalMonitor> &));
};
#endif