Protocols

The following protocols are available globally.

  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBBBarcodeOverlayViewControllerDelegate <NSObject>

    Swift

    protocol MBBBarcodeOverlayViewControllerDelegate : NSObjectProtocol
  • Protocol for obtaining debug metadata

    See more

    Declaration

    Objective-C

    @protocol MBBDebugRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBBDebugRecognizerRunnerDelegate
  • Protocol for obtaining debug metadata

    See more

    Declaration

    Objective-C

    @protocol MBBDebugRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBBDebugRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for obtaining detection results

    See more

    Declaration

    Objective-C

    @protocol MBBDetectionRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBBDetectionRecognizerRunnerDelegate
  • Protocol for obtaining detection results

    See more

    Declaration

    Objective-C

    @protocol MBBDetectionRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBBDetectionRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBBFrameGrabberRecognizerDelegate <NSObject>
    @required
    /**
     * Called when {FrameGrabberRecognizer} received new frame for processing.
     * Note that all buffers associated with image are available only during life of this method.
     * As soon as this method exits, there is no guarantee that buffers will be valid. If you need
     * to store image for later processing, showing or saving, make sure you create a copy of it.
     * @param cameraFrame The {MBBImage} containing frame that will be processed.
     * @param focused Information whether or not given frame is considered to be in focus. This
     *                  information is calculated on the basis of frame quality estimation algorithm
     *                  combined with information about actual frame that was provided by camera device.
     * @param frameQuality A number indicating calculated quality of given frame. This number is
     *                     non-negative, however it's maximum is not defined - the higher the number
     *                     is, the better the observed quality of frame is.
     */
    - (void)onFrameAvailable:(MBBImage *)cameraFrame isFocused:(BOOL)focused frameQuality:(CGFloat)frameQuality;
    
    @end

    Swift

    protocol MBBFrameGrabberRecognizerDelegate : NSObjectProtocol
  • Protocol for obtaining frame recognition

    See more

    Declaration

    Objective-C

    @protocol MBBFrameRecognitionRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBBFrameRecognitionRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBBImageProcessingRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when MBBRecognizerRunner finishes processing given image.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void) recognizerRunner:(nonnull MBBRecognizerRunner *)recognizerRunner didFinishProcessingImage:(nonnull MBBImage *)image;
    
    @end

    Swift

    protocol MBBImageProcessingRecognizerRunnerDelegate
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBBLoggerDelegate <NSObject>
    
    @optional
    
    - (void)log:(MBBLogLevel)level message:(const char *)message;
    - (void)log:(MBBLogLevel)level format:(const char *)format arguments:(const char *)arguments;
    
    @end

    Swift

    protocol MBBLoggerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBBNativeResult
    
    /**
     * Returns the native object containing the result. For example, for MBBDateResult, this method
     * will return NSDate object.
     */
    - (NSObject *_Nullable)nativeResult;
    
    /**
     * Returns the string version of the result. For example, for MBBDateResult, this method
     * will return original string from which date was parsed (same as MBBDateResult's originalDateString property}.
     */
    - (NSString *_Nullable)stringResult;
    
    @end

    Swift

    protocol MBBNativeResult
  • Overlay View Controller also needs to notify CameraViewController on certain events. Those are events specified by MBBOverlayViewControllerDelegate protocol.

    See more

    Declaration

    Objective-C

    @protocol MBBOverlayContainerViewController <MBBRecognizerRunnerViewController>

    Swift

    protocol MBBOverlayContainerViewController : MBBRecognizerRunnerViewController
  • Protocol for processing MBBDisplayablePointsDetection. Subviews implementing this protocol process and draw points on the screen (e.g. flashing dots)

    See more

    Declaration

    Objective-C

    @protocol MBBPointDetectorSubview <NSObject>

    Swift

    protocol MBBPointDetectorSubview : NSObjectProtocol
  • Protocol for processing MBBDisplayableQuadDetection. Subviews implementing this protocol process and draw quad on the screen (e.g. viewfinder drawing document outlining)

    See more

    Declaration

    Objective-C

    @protocol MBBQuadDetectorSubview <NSObject>

    Swift

    protocol MBBQuadDetectorSubview : NSObjectProtocol
  • Protocol for View controllers which present camera and provide scanning features

    See more

    Declaration

    Objective-C

    @protocol MBBRecognizerRunnerViewController <NSObject>

    Swift

    protocol MBBRecognizerRunnerViewController : NSObjectProtocol
  • Protocol for MBBRecognizerRunnerViewController actions

    See more

    Declaration

    Objective-C

    @protocol MBBRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBBRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Protocol for processing MBBRecognizerResult. Subviews implementing this protocol process and draw result data on the screen (e.g. letting users know is scanning was successful)

    See more

    Declaration

    Objective-C

    @protocol MBBResultSubview <NSObject>

    Swift

    protocol MBBResultSubview : NSObjectProtocol
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBBScanningRecognizerRunnerDelegate <NSObject>

    Swift

    protocol MBBScanningRecognizerRunnerDelegate : NSObjectProtocol
  • Protocol for obtaining scanning results

    See more

    Declaration

    Objective-C

    @protocol MBBScanningRecognizerRunnerViewControllerDelegate <NSObject>

    Swift

    protocol MBBScanningRecognizerRunnerViewControllerDelegate : NSObjectProtocol
  • Undocumented

    See more

    Declaration

    Objective-C

    @protocol MBBStringProcessingRecognizerRunnerDelegate <NSObject>
    @required
    
    /**
     * Called when MBBRecognizerRunner finishes processing given string.
     * NOTE: This method is called on background processing thread. Make sure that you dispatch all your UI API calls to main thread.
     */
    - (void)recognizerRunner:(nonnull MBBRecognizerRunner *)recognizerRunner didFinishProcessingString:(nonnull NSString *)string;
    
    @end

    Swift

    protocol MBBStringProcessingRecognizerRunnerDelegate
  • Protocol which all objects interested in receiving information about overlay subviews need to implement

    See more

    Declaration

    Objective-C

    @protocol MBBSubviewDelegate <NSObject>

    Swift

    protocol MBBSubviewDelegate : NSObjectProtocol