1  /*
2  * Copyright (c) 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 #ifndef CAPTURE_SESSION_FUZZER_H
17 #define CAPTURE_SESSION_FUZZER_H
18 
19 #include "session/capture_session.h"
20 
21 namespace OHOS {
22 namespace CameraStandard {
23 namespace CaptureSessionFuzzer {
24 
25 void Test(uint8_t *rawData, size_t size);
26 void TestSession(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
27 void TestWhiteBalance(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
28 void TestExposure(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
29 void TestFocus(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
30 void TestZoom(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
31 void TestCallback(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
32 void TestStabilization(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
33 void TestFlash(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
34 void TestCreateMediaLibrary(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
35 void TestProcess(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
36 void TestAperture(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
37 void TestBeauty(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
38 void TestOther(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
39 void TestOther2(sptr<CaptureSession> session, uint8_t *rawData, size_t size);
40 
41 class SessionCallbackMock : public SessionCallback {
42 public:
OnError(int32_t errorCode)43     void OnError(int32_t errorCode) override {}
44 };
45 
46 class ExposureCallbackMock : public ExposureCallback {
47 public:
OnExposureState(ExposureState state)48     void OnExposureState(ExposureState state) override {}
49 };
50 
51 class FocusCallbackMock : public FocusCallback {
52 public:
OnFocusState(FocusState state)53     void OnFocusState(FocusState state) override {}
54 };
55 
56 class MacroStatusCallbackMock : public MacroStatusCallback {
57 public:
OnMacroStatusChanged(MacroStatus status)58     void OnMacroStatusChanged(MacroStatus status) override {}
59 };
60 
61 class MoonCaptureBoostStatusCallbackMock : public MoonCaptureBoostStatusCallback {
62 public:
OnMoonCaptureBoostStatusChanged(MoonCaptureBoostStatus status)63     void OnMoonCaptureBoostStatusChanged(MoonCaptureBoostStatus status) override {}
64 };
65 
66 class FeatureDetectionStatusCallbackMock : public FeatureDetectionStatusCallback {
67 public:
FeatureDetectionStatusCallbackMock(bool ret)68     explicit FeatureDetectionStatusCallbackMock(bool ret) : ret_(ret) {}
OnFeatureDetectionStatusChanged(SceneFeature feature,FeatureDetectionStatus status)69     void OnFeatureDetectionStatusChanged(SceneFeature feature, FeatureDetectionStatus status) override {}
IsFeatureSubscribed(SceneFeature feature)70     bool IsFeatureSubscribed(SceneFeature feature) override
71     {
72         return ret_;
73     }
74 private:
75     bool ret_;
76 };
77 
78 class EffectSuggestionCallbackMock : public EffectSuggestionCallback {
79 public:
OnEffectSuggestionChange(EffectSuggestionType effectSuggestionType)80     void OnEffectSuggestionChange(EffectSuggestionType effectSuggestionType) override {}
81 };
82 
83 class ARCallbackMock : public ARCallback {
84 public:
OnResult(const ARStatusInfo & arStatusInfo)85     void OnResult(const ARStatusInfo &arStatusInfo) const override {}
86 };
87 
88 class SmoothZoomCallbackMock : public SmoothZoomCallback {
89 public:
OnSmoothZoom(int32_t duration)90     void OnSmoothZoom(int32_t duration) override {}
91 };
92 
93 class AbilityCallbackMock : public AbilityCallback {
94 public:
OnAbilityChange()95     void OnAbilityChange() override {}
96 };
97 
98 }
99 }
100 }
101 #endif