41 lines
1.2 KiB
Swift
41 lines
1.2 KiB
Swift
//
|
|
// Copyright Amazon.com Inc. or its affiliates.
|
|
// All Rights Reserved.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
import Amplify
|
|
import AWSPluginsCore
|
|
import Foundation
|
|
|
|
import AWSLocation
|
|
|
|
/// The AWSLocationPlugin implements the Geo APIs for Amazon Location
|
|
public final class AWSLocationGeoPlugin: GeoCategoryPlugin {
|
|
/// An instance of the AWS Location service
|
|
var locationService: AWSLocationBehavior!
|
|
|
|
/// An instance of the authentication service
|
|
public var authService: AWSAuthServiceBehavior!
|
|
|
|
/// A holder for the plugin configuration. This will be populated during the
|
|
/// configuration phase, and is clearable by `reset()`.
|
|
public var pluginConfig: AWSLocationGeoPluginConfiguration!
|
|
|
|
/// The unique key of the plugin within the location category
|
|
public let key: PluginKey = "awsLocationGeoPlugin"
|
|
|
|
/// Instantiates an instance of the AWSLocationPlugin
|
|
public init() {}
|
|
|
|
/// Retrieve the escape hatch to perform actions directly on AWSLocation.
|
|
///
|
|
/// - Returns: AWSLocation instance
|
|
public func getEscapeHatch() -> LocationClient {
|
|
locationService.getEscapeHatch()
|
|
}
|
|
}
|
|
|
|
extension AWSLocationGeoPlugin: AmplifyVersionable { }
|