SASReport

public protocol SASReport : AnyObject

Public Interface to a SASReport

Since

since 8.22
  • The name of this report.

    Since

    since 8.22

    Declaration

    Swift

    var name: String { get }
  • The report’s location on the server.

    Since

    since 8.22

    Declaration

    Swift

    var location: String { get }
  • The report’s unique identifier.

    Since

    since 8.22

    Declaration

    Swift

    var identifier: String { get }
  • The description of this report as provided by the author.

    Since

    since 8.22

    Declaration

    Swift

    var description: String { get }
  • The date this report was created.

    Since

    since 8.22

    Declaration

    Swift

    var dateCreated: Date! { get }
  • The date this report was last updated.

    Since

    since 8.22

    Declaration

    Swift

    var dateUpdated: Date { get }
  • The author of this report.

    Since

    since 8.22

    Declaration

    Swift

    var author: String { get }
  • If there is a preview for this report, the preview image is retrieved.

    Since

    since 8.22

    Declaration

    Swift

    var thumbnail: UIImage? { get }
  • The text summary for this report.

    Since

    since 2022.1.2

    Declaration

    Swift

    var summary: String? { get }
  • Convenience method to acquire a SASReportDescriptor for this report.

    Since

    since 8.22

    Declaration

    Swift

    var descriptor: SASReportDescriptor! { get }
  • The delegate for this report. If assigned, then messages about this report will be reported to the delegate

    Since

    since 26.0.0

    Declaration

    Swift

    var delegate: SASReportDelegate? { get set }
  • delegate to handle report navigation actions.

    Since

    since 27.0.0

    Declaration

    Swift

    var navigationDelegate: SASReportNavigationDelegate? { get set }
  • Create a SASReportViewController instance for a SASReport.

    Since

    since 8.22

    Declaration

    Swift

    func createViewController(_ delegate: SASReportViewControllerDelegate?) -> SASReportViewController

    Parameters

    delegate

    The delegate for the report view controller.

    Return Value

    A SASReportViewController instance.

  • Create a SASReportViewController instance for a SASReport with a Navigation Descriptor.

    Since

    since 8.39.1

    Declaration

    Swift

    func createViewController(_ delegate: SASReportViewControllerDelegate?, navigationDescriptor: SASReportNavigationDescriptor) -> SASReportViewController

    Parameters

    delegate

    The delegate for the report view controller.

    navigationDescriptor

    This is aquired from a report navigation and internally holds the context for the report link. This allows the new report to be filtered by the report link.

    Return Value

    A SASReportViewController instance.

  • Load an object from a report.

    Since

    since 26.0.0

    Declaration

    Swift

    func loadReportObject(_ objectName: String) -> SASReportObject?

    Parameters

    objectName

    The unique name of the report object.

  • Free the resources used by this report object

    Since

    since 26.0.0

    Declaration

    Swift

    func unloadReportObject(_ objectName: String)

    Parameters

    objectName

    The unique name of the report object.

  • Checks on the server, and downloads any updates available for this report.

    Since

    since 27.0.2

    Declaration

    Swift

    func update(_ progress: @escaping (_ status: SASReportUpdateStatus, _ error: NSError?) -> Void)

    Parameters

    progress

    block to be called when the update check has made progress.