// // SCFeatureProvider.h // SCCamera // // Created by Kristian Bauer on 1/4/18. // #import #import @class SCFeatureSettingsManager, SCCapturerToken, SCUserSession; @protocol SCFeature , SCCapturer, SCFeatureFlash, SCFeatureHandsFree, SCFeatureLensSideButton, SCFeatureLensButtonZ, SCFeatureMemories, SCFeatureNightMode, SCFeatureSnapKit, SCFeatureTapToFocusAndExposure, SCFeatureToggleCamera, SCFeatureShazam, SCFeatureImageCapture, SCFeatureScanning, SCFeatureZooming; /** * Provides single location for creating and configuring SCFeatures. */ @protocol SCFeatureProvider @property (nonatomic) AVCameraViewType cameraViewType; @property (nonatomic, readonly) id capturer; @property (nonatomic, strong, readwrite) SCCapturerToken *token; @property (nonatomic, readonly) SCUserSession *userSession; // TODO: We should not be reusing AVCameraViewController so eventually the // context should be removed. @property (nonatomic, readonly) AVCameraViewControllerContext context; @property (nonatomic) id handsFreeRecording; @property (nonatomic) id snapKit; @property (nonatomic) id tapToFocusAndExposure; @property (nonatomic) id memories; @property (nonatomic) id flash; @property (nonatomic) id lensSideButton; @property (nonatomic) id lensZButton; @property (nonatomic) id nightMode; @property (nonatomic) id toggleCamera; @property (nonatomic) id shazam; @property (nonatomic) id scanning; @property (nonatomic) id imageCapture; @property (nonatomic) id zooming; @property (nonatomic, readonly) NSArray> *supportedFeatures; - (void)resetInstances; @end