CLUReportComposer

@interface CLUReportComposer : NSObject

CLUReportComposer is a class responsible for composing final Clue report from many pieces/modules. This class initialize all recordable and info modules and actually start recording. CLUReportComposer also calling addNewFrameWithTimestamp: method from CLURecordableModule protocol for every recordable module and recordInfoData method from CLUInfoModule protocol for every info module.

  • All info modules which will record their data only once during recording

    Declaration

    Objective-C

    @property (readonly, nonatomic) NSMutableArray<id<CLUInfoModule>> *infoModules;

    Swift

    var infoModules: NSMutableArray! { get }
  • All recordable modules which will record their data during recording with specific timestamp for each new data entity

    Declaration

    Objective-C

    @property (readonly, nonatomic)
        NSMutableArray<id<CLURecordableModule>> *recordableModules;

    Swift

    var recordableModules: NSMutableArray! { get }
  • BOOL property which is indicate whether record has started or not

    Declaration

    Objective-C

    @property (readonly, nonatomic) BOOL isRecording;

    Swift

    var isRecording: Bool { get }
  • Initialize new CLUReportComposer instance with recordable modules array. So you can do recording even without info modules, but you have to have recordable modules for report recording

    Declaration

    Objective-C

    - (instancetype)initWithModulesArray:
        (NSArray<id<CLURecordableModule>> *)modulesArray;

    Swift

    init!(modulesArray: [Any]!)

    Parameters

    modulesArray

    Recordable modules array which will record their data during recording with specific timestamp for each new data entity

    Return Value

    New CLUReportComposer instance

  • Add more recordable modules to CLUReportComposer.recordableModules array

    Declaration

    Objective-C

    - (void)addRecordableModule:(id<CLURecordableModule>)module;

    Swift

    func addRecordableModule(_ module: Any!)

    Parameters

    module

    Array with recordable modules which will be added to CLUReportComposer.recordableModules

  • Remove single recordable module from CLUReportComposer.recordableModules array

    Declaration

    Objective-C

    - (void)removeRecordableModule:(id<CLURecordableModule>)module;

    Swift

    func removeRecordableModule(_ module: Any!)

    Parameters

    module

    Single recordable module which will be removed from CLUReportComposer.recordableModules

  • Start actual recording

    Declaration

    Objective-C

    - (void)startRecording;

    Swift

    func startRecording()
  • Stop actual recording

    Declaration

    Objective-C

    - (void)stopRecording;

    Swift

    func stopRecording()