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 CAMERA_MANAGER_FUZZER_H 17 #define CAMERA_MANAGER_FUZZER_H 18 19 #include "input/camera_manager.h" 20 #include <memory> 21 #include <fuzzer/FuzzedDataProvider.h> 22 23 namespace OHOS { 24 namespace CameraStandard { 25 class CameraManagerFuzzer { 26 public: 27 static void CameraManagerFuzzTest1(FuzzedDataProvider& fdp); 28 static void CameraManagerFuzzTest2(FuzzedDataProvider& fdp); 29 static void CameraManagerFuzzTest3(FuzzedDataProvider& fdp); 30 }; 31 32 class IDeferredPhotoProcSessionCallbackFuzz : public IDeferredPhotoProcSessionCallback { 33 public: OnProcessImageDone(const std::string & imageId,const uint8_t * addr,const long bytes,uint32_t cloudImageEnhanceFlag)34 void OnProcessImageDone(const std::string& imageId, const uint8_t* addr, const long bytes, 35 uint32_t cloudImageEnhanceFlag) override {} OnProcessImageDone(const std::string & imageId,std::shared_ptr<PictureIntf> picture,uint32_t cloudImageEnhanceFlag)36 void OnProcessImageDone(const std::string &imageId, std::shared_ptr<PictureIntf> picture, 37 uint32_t cloudImageEnhanceFlag) override {} OnDeliveryLowQualityImage(const std::string & imageId,std::shared_ptr<PictureIntf> picture)38 void OnDeliveryLowQualityImage(const std::string &imageId, std::shared_ptr<PictureIntf> picture) override {} OnError(const std::string & imageId,const DpsErrorCode errorCode)39 void OnError(const std::string& imageId, const DpsErrorCode errorCode) override {} OnStateChanged(const DpsStatusCode status)40 void OnStateChanged(const DpsStatusCode status) override {} 41 }; 42 43 class ITorchServiceCallbackFuzz : public ITorchServiceCallback { 44 public: OnTorchStatusChange(const TorchStatus status)45 int32_t OnTorchStatusChange(const TorchStatus status) override 46 { 47 return 0; 48 } AsObject()49 sptr<IRemoteObject> AsObject() override 50 { 51 return 0; 52 } 53 }; 54 55 class IFoldServiceCallbackFuzz : public IFoldServiceCallback { 56 public: OnFoldStatusChanged(const FoldStatus status)57 virtual int32_t OnFoldStatusChanged(const FoldStatus status) 58 { 59 return 0; 60 } AsObject()61 virtual sptr<IRemoteObject> AsObject() 62 { 63 return 0; 64 } 65 }; 66 67 class ICameraMuteServiceCallbackFuzz : public ICameraMuteServiceCallback { 68 public: OnCameraMute(bool muteMode)69 int32_t OnCameraMute(bool muteMode) override 70 { 71 return 0; 72 } AsObject()73 sptr<IRemoteObject> AsObject() override 74 { 75 return 0; 76 } 77 }; 78 79 class IDeferredVideoProcSessionCallbackFuzz : public IDeferredVideoProcSessionCallback { 80 public: OnProcessVideoDone(const std::string & videoId,const sptr<IPCFileDescriptor> ipcFd)81 void OnProcessVideoDone(const std::string& videoId, const sptr<IPCFileDescriptor> ipcFd) override {} OnError(const std::string & videoId,const DpsErrorCode errorCode)82 void OnError(const std::string& videoId, const DpsErrorCode errorCode) override {} OnStateChanged(const DpsStatusCode status)83 void OnStateChanged(const DpsStatusCode status) override {} 84 }; 85 86 class CameraManagerCallbackFuzz : public CameraManagerCallback { 87 public: OnCameraStatusChanged(const CameraStatusInfo & cameraStatusInfo)88 void OnCameraStatusChanged(const CameraStatusInfo &cameraStatusInfo) const override {} OnFlashlightStatusChanged(const std::string & cameraID,const FlashStatus flashStatus)89 void OnFlashlightStatusChanged(const std::string &cameraID, const FlashStatus flashStatus) const override {} 90 }; 91 92 class CameraMuteListenerFuzz : public CameraMuteListener { 93 public: OnCameraMute(bool muteMode)94 void OnCameraMute(bool muteMode) const override {} 95 }; 96 97 class FoldListenerFuzz : public FoldListener { 98 public: OnFoldStatusChanged(const FoldStatusInfo & foldStatusInfo)99 void OnFoldStatusChanged(const FoldStatusInfo &foldStatusInfo) const override {} 100 }; 101 102 class TorchListenerFuzz : public TorchListener { 103 public: OnTorchStatusChange(const TorchStatusInfo & torchStatusInfo)104 void OnTorchStatusChange(const TorchStatusInfo &torchStatusInfo) const override {} 105 }; 106 } //CameraStandard 107 } //OHOS 108 #endif //CAMERA_MANAGER_FUZZER_H