blob: 459f6a090de319796713ca790e8a00a930e40be4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
//
// MullvadShadowsocksBridgeProvider.swift
// MullvadRustRuntime
//
// Created by Marco Nikic on 2025-03-24.
// Copyright © 2025 Mullvad VPN AB. All rights reserved.
//
import MullvadTypes
public func initMullvadShadowsocksBridgeProvider(provider: SwiftShadowsocksBridgeProvider)
-> SwiftShadowsocksLoaderWrapper
{
let rawProvider = Unmanaged.passUnretained(provider).toOpaque()
return init_swift_shadowsocks_loader_wrapper(rawProvider)
}
@_cdecl("swift_get_shadowsocks_bridges")
func getShadowsocksBridges(rawBridgeProvider: UnsafeMutableRawPointer) -> UnsafeRawPointer? {
let bridgeProvider = Unmanaged<SwiftShadowsocksBridgeProvider>.fromOpaque(rawBridgeProvider).takeUnretainedValue()
guard let bridge = bridgeProvider.bridge() else { return nil }
let bridgeAddress = bridge.address.rawValue.map { $0 }
return new_shadowsocks_access_method_setting(
bridgeAddress,
UInt(bridgeAddress.count),
bridge.port,
bridge.password,
bridge.cipher
)
}
|