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.
-
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 moreDeclaration
Swift
public class CachedMeeting
-
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 }
-
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.
-
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.