VMF_AppDelegate

@main
@MainActor
class VMF_AppDelegate : UIResponder
extension VMF_AppDelegate: UIApplicationDelegate

This is the original app delegate part of the app (starting point). We are actually using Scene Delegate, but this is a good place to use as a “fulcrum.”

  • This is our query instance. It returns a new query instance, freshly initialized to the Root Server, every time it’s called.

    Declaration

    Swift

    @MainActor
    private class var _queryInstance: SwiftBMLSDK_Query? { get }
  • The number of seconds that we put aside for fetching the data.

    Declaration

    Swift

    @MainActor
    private static let _fetchTimeoutInSeconds: TimeInterval
  • The timer for fetching data.

    Declaration

    Swift

    @MainActor
    private static var _timer: RVS_BasicGCDTimer?
  • This is set to the open meeting, if we have one we are looking at.

    Declaration

    Swift

    @MainActor
    static var openMeeting: VMF_MeetingInspectorViewController?
  • This is set to the Main Screen controller

    Declaration

    Swift

    @MainActor
    static var mainScreenController: VMF_MainViewController?
  • This handles the server data. This is the main container. All others reference this weakly.

    “There can only be one.” - Connor MacLeod

    Declaration

    Swift

    @MainActor
    static var virtualService: SwiftBMLSDK_MeetingLocalTimezoneCollection?
  • This is the singleton for the prefs.

    Declaration

    Swift

    @MainActor
    static var prefs: VMF_Persistent_Prefs

Static Functions

  • Fetches all of the virtual meetings (hybrid and pure virtual).

    Declaration

    Swift

    @MainActor
    class func findMeetings(completion inCompletion: @escaping (SwiftBMLSDK_MeetingLocalTimezoneCollection?) -> Void)

    Parameters

    completion

    A tail completion handler. One parameter, with the virtual service (nil, if error). May be called in any thread.

  • Displays the given message and title in an alert with an “OK” button.

    Declaration

    Swift

    @MainActor
    class func displayAlert(header inHeader: String, message inMessage: String = "", presentedBy inPresentingViewController: UIViewController! = nil)

    Parameters

    header

    a string to be displayed as the title of the alert. It is localized by this method.

    message

    a string to be displayed as the message of the alert. It is localized by this method.

    presentedBy

    An optional UIViewController object that is acting as the presenter context for the alert. If nil, we use the top controller of the Navigation stack.

  • Quick access to the app delegate object.

    Declaration

    Swift

    @MainActor
    class var appDelegateInstance: VMF_AppDelegate? { get }

Instance Methods

  • This opens our app settings, with the permissions shown. It is ObjC, so it can be directly referenced from a callback.

    Declaration

    Swift

    @objc
    @MainActor
    dynamic func openMainSettings(_: Any! = nil)

UIApplicationDelegate Conformance

  • This opens a URL.

    Declaration

    Swift

    @MainActor
    class func open(url inURL: URL, options inOptions: [UIApplication.OpenExternalURLOptionsKey : Any] = [:], completionHandler inClosure: ((Bool) -> Void)? = nil)

    Parameters

    url

    The URL to open.

    options

    The URLoptions.

    completionHandler

    The closure to be executed, upon completion of the open. It has one parameter, a Boolean, that is true, if the open was successful. This is always called in the main thread.

  • Called when the app has set itself up, and is about to start.

    Declaration

    Swift

    @MainActor
    func application(_: UIApplication, didFinishLaunchingWithOptions: [UIApplication.LaunchOptionsKey : Any]?) -> Bool

    Parameters

    didFinishLaunchingWithOptions

    Launch options (also ignored).

    Return Value

    True (always).

  • Called to deliver the scene configuration for the connection.

    Declaration

    Swift

    @MainActor
    func application(_: UIApplication, configurationForConnecting inConnectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration

    Parameters

    configurationForConnecting

    The session being connected.

    options

    Launch options (also ignored).

    Return Value

    A new instance of a default configuration for the scene.

  • Fetch an intent handler for the app.

    Declaration

    Swift

    @MainActor
    func application(_: UIApplication, handlerFor inIntent: INIntent) -> Any?

    Parameters

    handlerFor

    An intent that needs to be handled by the app.

    Return Value

    An intent handler