31 lines
834 B
Kotlin
31 lines
834 B
Kotlin
|
|
package com.aerotoss
|
||
|
|
|
||
|
|
import androidx.compose.runtime.*
|
||
|
|
import androidx.compose.ui.window.Window
|
||
|
|
import androidx.compose.ui.window.application
|
||
|
|
import com.aerotoss.core.AeroTossManager
|
||
|
|
import com.aerotoss.discovery.JmdnsDiscovery
|
||
|
|
import com.aerotoss.transfer.DesktopFileTransferManager
|
||
|
|
import com.aerotoss.ui.App
|
||
|
|
|
||
|
|
fun main() = application {
|
||
|
|
val transferManager = remember { DesktopFileTransferManager() }
|
||
|
|
val discoveryManager = remember { JmdnsDiscovery() }
|
||
|
|
val manager = remember { AeroTossManager(discoveryManager, transferManager) }
|
||
|
|
|
||
|
|
LaunchedEffect(Unit) {
|
||
|
|
val port = transferManager.startServer(0)
|
||
|
|
manager.start(port)
|
||
|
|
}
|
||
|
|
|
||
|
|
Window(
|
||
|
|
onCloseRequest = {
|
||
|
|
manager.dispose()
|
||
|
|
exitApplication()
|
||
|
|
},
|
||
|
|
title = "AeroToss"
|
||
|
|
) {
|
||
|
|
App(manager)
|
||
|
|
}
|
||
|
|
}
|