1 /* 2 * Copyright (c) 2024 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 CAMERA_INPUT_FUZZER_H 17 #define CAMERA_INPUT_FUZZER_H 18 19 #include "stream_capture_stub.h" 20 #include <fuzzer/FuzzedDataProvider.h> 21 22 namespace OHOS { 23 namespace CameraStandard { 24 class HStreamCaptureStubFuzz : public StreamCaptureStub { 25 public: Capture(const std::shared_ptr<OHOS::Camera::CameraMetadata> & captureSettings)26 int32_t Capture(const std::shared_ptr<OHOS::Camera::CameraMetadata> &captureSettings) override 27 { 28 return 0; 29 } CancelCapture()30 int32_t CancelCapture() override 31 { 32 return 0; 33 } ConfirmCapture()34 int32_t ConfirmCapture() override 35 { 36 return 0; 37 } SetCallback(const sptr<IStreamCaptureCallback> & callback)38 int32_t SetCallback(const sptr<IStreamCaptureCallback> &callback) override 39 { 40 return 0; 41 } SetPhotoAvailableCallback(const sptr<IStreamCapturePhotoCallback> & callback)42 int32_t SetPhotoAvailableCallback(const sptr<IStreamCapturePhotoCallback> &callback) override 43 { 44 return 0; 45 } SetPhotoAssetAvailableCallback(const sptr<IStreamCapturePhotoAssetCallback> & callback)46 int32_t SetPhotoAssetAvailableCallback(const sptr<IStreamCapturePhotoAssetCallback> &callback) override 47 { 48 return 0; 49 } SetThumbnailCallback(const sptr<IStreamCaptureThumbnailCallback> & callback)50 int32_t SetThumbnailCallback(const sptr<IStreamCaptureThumbnailCallback> &callback) override 51 { 52 return 0; 53 } UnSetCallback()54 int32_t UnSetCallback() override 55 { 56 return 0; 57 } Release()58 int32_t Release() override 59 { 60 return 0; 61 } SetThumbnail(bool isEnabled)62 int32_t SetThumbnail(bool isEnabled) override 63 { 64 return 0; 65 } EnableRawDelivery(bool enabled)66 int32_t EnableRawDelivery(bool enabled) override 67 { 68 return 0; 69 } EnableMovingPhoto(bool enabled)70 int32_t EnableMovingPhoto(bool enabled) override 71 { 72 return 0; 73 } SetBufferProducerInfo(const std::string & bufName,const sptr<OHOS::IBufferProducer> & producer)74 int32_t SetBufferProducerInfo(const std::string &bufName, const sptr<OHOS::IBufferProducer> &producer) override 75 { 76 return 0; 77 } DeferImageDeliveryFor(int32_t type)78 int32_t DeferImageDeliveryFor(int32_t type) override 79 { 80 return 0; 81 } IsDeferredPhotoEnabled()82 int32_t IsDeferredPhotoEnabled() override 83 { 84 return 0; 85 } IsDeferredVideoEnabled()86 int32_t IsDeferredVideoEnabled() override 87 { 88 return 0; 89 } SetMovingPhotoVideoCodecType(int32_t videoCodecType)90 int32_t SetMovingPhotoVideoCodecType(int32_t videoCodecType) override 91 { 92 return 0; 93 } SetCameraPhotoRotation(bool isEnable)94 int32_t SetCameraPhotoRotation(bool isEnable) override 95 { 96 return 0; 97 } EnableOfflinePhoto(bool isEnable)98 int32_t EnableOfflinePhoto(bool isEnable) override 99 { 100 return 0; 101 } CallbackEnter(uint32_t code)102 int32_t CallbackEnter([[maybe_unused]] uint32_t code) override 103 { 104 return 0; 105 } CallbackExit(uint32_t code,int32_t result)106 int32_t CallbackExit([[maybe_unused]] uint32_t code, [[maybe_unused]] int32_t result) override 107 { 108 return 0; 109 } UnSetPhotoAvailableCallback()110 int32_t UnSetPhotoAvailableCallback() override 111 { 112 return 0; 113 } UnSetPhotoAssetAvailableCallback()114 int32_t UnSetPhotoAssetAvailableCallback() override 115 { 116 return 0; 117 } UnSetThumbnailCallback()118 int32_t UnSetThumbnailCallback() override 119 { 120 return 0; 121 } CreateMediaLibrary(const sptr<CameraPhotoProxy> & photoProxy,std::string & uri,int32_t & cameraShotType,std::string & burstKey,int64_t timestamp)122 ErrCode CreateMediaLibrary(const sptr<CameraPhotoProxy>& photoProxy, std::string& uri, int32_t& cameraShotType, 123 std::string& burstKey, int64_t timestamp) override 124 { 125 return 0; 126 } 127 }; 128 class HStreamCaptureStubFuzzer { 129 public: 130 static std::shared_ptr<HStreamCaptureStubFuzz> fuzz_; 131 static void HStreamCaptureStubFuzzTest1(FuzzedDataProvider &fdp); 132 static void HStreamCaptureStubFuzzTest2(FuzzedDataProvider &fdp); 133 static void HStreamCaptureStubFuzzTest3(); 134 static void HStreamCaptureStubFuzzTest4(FuzzedDataProvider &fdp); 135 static void HStreamCaptureStubFuzzTest5(FuzzedDataProvider &fdp); 136 static void HStreamCaptureStubFuzzTest6(FuzzedDataProvider &fdp); 137 static void HStreamCaptureStubFuzzTest7(FuzzedDataProvider &fdp); 138 static void HStreamCaptureStubFuzzTest8(FuzzedDataProvider &fdp); 139 static void HStreamCaptureStubFuzzTest9(FuzzedDataProvider &fdp); 140 static void HStreamCaptureStubFuzzTest10(FuzzedDataProvider &fdp); 141 static void HStreamCaptureStubFuzzTest11(); 142 static void HStreamCaptureStubFuzzTest12(); 143 static void HStreamCaptureStubFuzzTest13(); 144 static void HStreamCaptureStubFuzzTest14(); 145 static void HStreamCaptureStubFuzzTest15(); 146 static void HStreamCaptureStubFuzzTest16(); 147 static void HStreamCaptureStubFuzzTest17(); 148 static void HStreamCaptureStubFuzzTest18(); 149 static void HStreamCaptureStubFuzzTest19(); 150 static void HStreamCaptureStubFuzzTest20(); 151 static void HStreamCaptureStubFuzzTest21(); 152 }; 153 } // namespace CameraStandard 154 } // namespace OHOS 155 #endif // CAMERA_INPUT_FUZZER_H