SwiftBMLSDK_MeetingLocalTimezoneCollection

public class SwiftBMLSDK_MeetingLocalTimezoneCollection

This class can be used to manage meetings in the user’s local timezone. It is especially useful for virtual meetings.

Virtual meetings are always considered in local (to the user) timezone. We collect all of the meetings at once, and store them here, so they are easier and faster to manage.

This is a class, so we don’t go making too many massive copies of the data. We can store this as a reference.

Public SDK Properties and Methods

  • The callback from the meeting fetch. This can be called in any thread.

    Declaration

    Swift

    public typealias FetchCallback = (SwiftBMLSDK_MeetingLocalTimezoneCollection) -> Void
  • Each meeting is an instance, associated with the date of the next occurrence. If the date is nil, or after now, the meeting is queried for the next ocurrence, and that is cached.

    See more

    Declaration

    Swift

    public class CachedMeeting

Public Computed Properties

  • This is the complete response to the last query. We ask for all of the virtual and hybrid meetings at once from the server, and store them in the order received.

    Declaration

    Swift

    public var meetings: [CachedMeeting] { get set }
  • These are meetings that have both a virtual component, and an in-person (physical location) component.

    Declaration

    Swift

    public var hybridMeetings: [CachedMeeting] { get }
  • These are virtual-only meetings (no physical location).

    Declaration

    Swift

    public var virtualMeetings: [CachedMeeting] { get }

Public Initializers

  • initializer, with a URL to the server.

    Instantiating this class executes an immediate fetch.

    Declaration

    Swift

    public init(serverURL inServerURL: URL, completion inCompletion: @escaping FetchCallback)

    Parameters

    serverURL

    The URL to the meeting server.

    completion

    An escaping tail completion proc, with a single parameter (this instance). This can be called in any thread.

  • initializer, with a prepared query.

    Instantiating this class executes an immediate fetch.

    Declaration

    Swift

    public init(query inQuery: SwiftBMLSDK_Query, completion inCompletion: @escaping FetchCallback)

    Parameters

    query

    A “primed” query instance (an instance that has a server URL).

    completion

    An escaping tail completion proc, with a single parameter (this instance). This can be called in any thread.

Public Instance Methods

  • This forces the meetings cache to be recalculated from scratch.

    Declaration

    Swift

    public func refreshCaches(completion inCompletion: ((SwiftBMLSDK_MeetingLocalTimezoneCollection) -> Void)? = nil)

    Parameters

    completion

    An optional, simple, one-parameter (This instance) tail completion proc. Always called in the main thread.