Files
TelemetryMonitor/lib/main.dart
2026-04-21 19:38:20 -03:00

41 lines
1.1 KiB
Dart

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'app.dart';
import 'config/settings.dart';
import 'decoder/decoder.dart';
import 'export/csv_exporter.dart';
import 'layout/layout_controller.dart';
import 'session/session_controller.dart';
import 'transport/websocket_transport.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final settings = await Settings.load(isWeb: kIsWeb);
final layout = await LayoutController.load();
final transport = WebSocketTransport(
initialReconnectDelay: settings.reconnectInitialDelay,
maxReconnectDelay: settings.reconnectMaxDelay,
backoffFactor: settings.reconnectBackoffFactor,
);
final decoder = DecoderImpl(batchInterval: settings.decoderBatchInterval);
await decoder.start();
final session = SessionController(
transport: transport,
decoder: decoder,
settings: settings,
);
await session.start();
final exporter = CsvExporterImpl();
runApp(TelemetryApp(
session: session,
layout: layout,
settings: settings,
exporter: exporter,
));
}