package dev.lonami.talaria.data import dev.lonami.talaria.bindings.Native import dev.lonami.talaria.model.Dialog interface DialogSource { fun loadDialogs(): List; } class NativeDialogSource : DialogSource { override fun loadDialogs(): List { val dialogs = mutableListOf() val dialogPtr = Native.getDialogs() val dialogCount = Native.dialogCount(dialogPtr) for (i in 0 until dialogCount) { dialogs.add( Dialog( Native.dialogTitle(dialogPtr, i), Native.dialogPacked(dialogPtr, i), false ) ) } Native.freeDialogs(dialogPtr) return dialogs } } class MockDialogSource : DialogSource { override fun loadDialogs(): List { val dialogs = mutableListOf() for (i in 0 until 10) { dialogs.add(Dialog("Sample Dialog $i", "Sample Message $i", i == 0)) } return dialogs } }