amplify-swift/AmplifyPlugins/Geo/Sources/AWSLocationGeoPlugin/AWSLocationGeoPlugin.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 { }