// vpn_bridge_provider.dart — VpnBridge 平台分派
//
// macOS / Linux / Windows → DesktopVpnBridge（真实子进程）
// 其他平台（iOS / Web / 测试）→ VpnBridgeMock
import 'package:flutter/foundation.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

import 'desktop_vpn_bridge.dart';
import 'vpn_bridge.dart';
import 'vpn_bridge_mock.dart';

// 通过 dart:io Platform 按平台选择实现。
// Web 平台须先检查 kIsWeb（dart:io 在 Web 上不可用）。
import 'dart:io' show Platform;

/// 全局单例 VpnBridge。Ref 生命周期内不变。
final vpnBridgeProvider = Provider<VpnBridge>((ref) {
  if (!kIsWeb &&
      (Platform.isMacOS || Platform.isLinux || Platform.isWindows)) {
    return DesktopVpnBridge();
  }
  return VpnBridgeMock();
});
