diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/storage/Backing.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/storage/Backing.kt | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/storage/Backing.kt b/src/main/kotlin/io/dico/parcels2/storage/Backing.kt index 31b6574..88ee5fd 100644 --- a/src/main/kotlin/io/dico/parcels2/storage/Backing.kt +++ b/src/main/kotlin/io/dico/parcels2/storage/Backing.kt @@ -1,11 +1,8 @@ package io.dico.parcels2.storage -import io.dico.parcels2.AddedData -import io.dico.parcels2.Parcel -import io.dico.parcels2.ParcelData -import io.dico.parcels2.ParcelOwner -import kotlinx.coroutines.experimental.channels.ProducerScope -import java.util.* +import io.dico.parcels2.* +import kotlinx.coroutines.experimental.channels.SendChannel +import java.util.UUID interface Backing { @@ -22,30 +19,32 @@ interface Backing { * This producer function is capable of constantly reading parcels from a potentially infinite sequence, * and provide parcel data for it as read from the database. */ - suspend fun ProducerScope<Pair<Parcel, ParcelData?>>.produceParcelData(parcels: Sequence<Parcel>) + suspend fun produceParcelData(channel: SendChannel<DataPair>, parcels: Sequence<ParcelId>) - suspend fun ProducerScope<Pair<SerializableParcel, ParcelData?>>.produceAllParcelData() + suspend fun produceAllParcelData(channel: SendChannel<DataPair>) - suspend fun readParcelData(parcelFor: Parcel): ParcelData? + suspend fun readParcelData(parcel: ParcelId): ParcelData? - suspend fun getOwnedParcels(user: ParcelOwner): List<SerializableParcel> + suspend fun getOwnedParcels(user: ParcelOwner): List<ParcelId> suspend fun getNumParcels(user: ParcelOwner): Int = getOwnedParcels(user).size - suspend fun setParcelData(parcelFor: Parcel, data: ParcelData?) + suspend fun setParcelData(parcel: ParcelId, data: ParcelData?) - suspend fun setParcelOwner(parcelFor: Parcel, owner: ParcelOwner?) + suspend fun setParcelOwner(parcel: ParcelId, owner: ParcelOwner?) - suspend fun setParcelPlayerState(parcelFor: Parcel, player: UUID, state: Boolean?) + suspend fun setLocalPlayerStatus(parcel: ParcelId, player: UUID, status: AddedStatus) - suspend fun setParcelAllowsInteractInventory(parcel: Parcel, value: Boolean) + suspend fun setParcelAllowsInteractInventory(parcel: ParcelId, value: Boolean) - suspend fun setParcelAllowsInteractInputs(parcel: Parcel, value: Boolean) + suspend fun setParcelAllowsInteractInputs(parcel: ParcelId, value: Boolean) - suspend fun readGlobalPlayerStateData(owner: ParcelOwner): AddedData? + suspend fun produceAllGlobalAddedData(channel: SendChannel<AddedDataPair<ParcelOwner>>) - suspend fun setGlobalPlayerState(owner: ParcelOwner, player: UUID, state: Boolean?) + suspend fun readGlobalAddedData(owner: ParcelOwner): MutableAddedDataMap + + suspend fun setGlobalPlayerStatus(owner: ParcelOwner, player: UUID, status: AddedStatus) }
\ No newline at end of file |