// // VisionCameraProxy.h // VisionCamera // // Created by Marc Rousavy on 20.07.23. // Copyright © 2023 mrousavy. All rights reserved. // #pragma once #import #import #ifdef __cplusplus #import "WKTJsiWorkletContext.h" #import #import using namespace facebook; class VisionCameraProxy : public jsi::HostObject { public: explicit VisionCameraProxy(jsi::Runtime& runtime, std::shared_ptr callInvoker); ~VisionCameraProxy(); public: std::vector getPropertyNames(jsi::Runtime& runtime) override; jsi::Value get(jsi::Runtime& runtime, const jsi::PropNameID& name) override; private: void setFrameProcessor(jsi::Runtime& runtime, int viewTag, const jsi::Object& frameProcessor); void removeFrameProcessor(jsi::Runtime& runtime, int viewTag); jsi::Value initFrameProcessorPlugin(jsi::Runtime& runtime, std::string name, const jsi::Object& options); private: std::shared_ptr _workletContext; std::shared_ptr _callInvoker; }; #endif @interface VisionCameraInstaller : NSObject + (BOOL)installToBridge:(RCTBridge* _Nonnull)bridge; @end