import Foundation
import GroupLink

/// Bridges GroupLink SDK calls from Obj-C++ (GrouplinkSdk.mm) to Swift.
/// Necessary because GroupLink.xcframework only exports Swift ABI symbols,
/// not ObjC class symbols, so direct ObjC++ calls would fail at link time.
@objc public class GrouplinkBridge: NSObject {

  @objc public static func startIOS(token: String) {
    GroupLinkSDK.start(withToken: token)
  }

  @objc public static func startBluetooth() {
    GroupLinkSDK.startBluetooth()
  }

  @objc public static func checkBluetooth() {
    GroupLinkSDK.checkBluetooth()
  }

  @objc public static func startLocation() {
    GroupLinkSDK.startLocation()
  }

  @objc public static func setNotificationName(_ name: String) {
    GroupLinkSDK.setNotificationName(name)
  }

  @objc public static func setRemoteIdIOS(_ remoteId: String) {
    GroupLinkSDK.setRemoteId(remoteId)
  }

  @objc public static func getUserID() -> String? {
    return GroupLinkSDK.getUserID()
  }

  @objc public static func setRemoteNotificationToken(_ token: String) {
    GroupLinkNotifications.setRemoteNotificationToken(token)
  }
}
