connectToPlatform static method

Future<bool> connectToPlatform({
  1. required String ip,
  2. required int port,
  3. required dynamic notifier(),
  4. required void onPlatformConnectionChange(
    1. bool
    ),
  5. required void onPlatformDisconnect(),
  6. required void onStopCommand({
    1. required bool canDefer,
    2. required Function onDefer,
    3. required Function onForceClose,
    }),
  7. required String airlineCode,
  8. required String applicationVersion,
  9. required String applicationName,
  10. bool showErrorToast = false,
})

Implementation

static Future<bool> connectToPlatform(
    {required String ip,
    required int port,
    required Function() notifier,
    required void Function(bool) onPlatformConnectionChange,
    required void Function() onPlatformDisconnect,
    required void Function({required bool canDefer, required Function onForceClose, required Function onDefer}) onStopCommand,
    required String airlineCode,
    required String applicationVersion,
    required String applicationName,
    bool showErrorToast = false}) async {
  _instance.onPlatformConnectionChange = onPlatformConnectionChange;
  _instance.onPlatformDisconnect = onPlatformDisconnect;
  _instance.notifier = notifier;
  _instance.airline = airlineCode;
  _instance.applicationVersion = applicationVersion;
  _instance.applicationName = applicationName;
  _instance.onStopCommand = onStopCommand;
  try {
    _instance.socketService = SocketService(ip: ip, port: port);
    bool? connection = await _instance.socketService.initialize(
        onLost: onPlatformDisconnect,
        // ip: ip,
        // port: port,
        rh: cuppsResponseHandler,
        onClose: onPlatformClose,
        logID: 'Platform',
        logSuff: 'Platform');
    log("Platform Socket Connection $connection");
    _instance.onPlatformConnectionChange!(connection);
    generateToken();
    return connection;
  } catch (e) {
    if (showErrorToast) {
      Get.snackbar("Platform Connection Error", e.toString());
    } else {
      log("Platform Connection Error:\n $e");
    }
    _instance.onPlatformConnectionChange!(false);
    return false;
  }
}