@@ -7,10 +7,10 @@ import io.rebble.libpebblecommon.structmapper.SByte
77import io.rebble.libpebblecommon.structmapper.SBytes
88import io.rebble.libpebblecommon.structmapper.SUShort
99
10- @ExperimentalUnsignedTypes
11- open class BlobCommand (message : Message , token : UShort , database : BlobDatabase ) : PebblePacket(
10+ @OptIn( ExperimentalUnsignedTypes :: class )
11+ open class BlobCommand constructor (message : Message , token : UShort , database : BlobDatabase ) : PebblePacket(
1212 endpoint
13- ){
13+ ) {
1414 enum class Message (val value : UByte ) {
1515 Insert (0x01u ),
1616 Delete (0x04u ),
@@ -31,26 +31,31 @@ open class BlobCommand(message: Message, token: UShort, database: BlobDatabase)
3131 val database = SByte (m, database.id)
3232
3333 open class InsertCommand (token : UShort , database : BlobDatabase , key : UByteArray , value : UByteArray ) : BlobCommand(
34- Message .Insert , token, database) {
34+ Message .Insert , token, database
35+ ) {
3536 val keySize = SByte (m, key.size.toUByte())
3637 val targetKey = SBytes (m, key.size, key)
3738 val valSize = SUShort (m, value.size.toUShort(), endianness = ' <' )
3839 val targetValue = SBytes (m, value.size, value)
3940 }
41+
4042 class DeleteCommand (token : UShort , database : BlobDatabase , key : UByteArray ) : BlobCommand(
41- Message .Delete , token, database) {
43+ Message .Delete , token, database
44+ ) {
4245 val keySize = SByte (m, key.size.toUByte())
4346 val targetKey = SBytes (m, key.size, key)
4447 }
48+
4549 class ClearCommand (token : UShort , database : BlobDatabase ) : BlobCommand(
46- Message .Clear , token, database)
50+ Message .Clear , token, database
51+ )
4752
4853 companion object {
4954 val endpoint = ProtocolEndpoint .BLOBDB_V1
5055 }
5156}
5257
53- @ExperimentalUnsignedTypes
58+ @OptIn( ExperimentalUnsignedTypes :: class )
5459open class BlobResponse (response : BlobStatus = BlobStatus .GeneralFailure ) : PebblePacket(endpoint) {
5560 enum class BlobStatus (val value : UByte ) {
5661 Success (0x01u ),
@@ -66,37 +71,59 @@ open class BlobResponse(response: BlobStatus = BlobStatus.GeneralFailure) : Pebb
6671 TryLater (0xBu )
6772 }
6873
69- class Success : BlobResponse (BlobStatus .Success )
70- class GeneralFailure : BlobResponse (BlobStatus .GeneralFailure )
71- class InvalidOperation : BlobResponse (BlobStatus .InvalidOperation )
72- class InvalidDatabaseID : BlobResponse (BlobStatus .InvalidDatabaseID )
73- class InvalidData : BlobResponse (BlobStatus .InvalidData )
74- class KeyDoesNotExist : BlobResponse (BlobStatus .KeyDoesNotExist )
75- class DatabaseFull : BlobResponse (BlobStatus .DatabaseFull )
76- class DataStale : BlobResponse (BlobStatus .DataStale )
77- class NotSupported : BlobResponse (BlobStatus .NotSupported )
78- class Locked : BlobResponse (BlobStatus .Locked )
79- class TryLater : BlobResponse (BlobStatus .TryLater )
74+ class Success : BlobResponse (BlobStatus .Success )
75+ class GeneralFailure : BlobResponse (BlobStatus .GeneralFailure )
76+ class InvalidOperation : BlobResponse (BlobStatus .InvalidOperation )
77+ class InvalidDatabaseID : BlobResponse (BlobStatus .InvalidDatabaseID )
78+ class InvalidData : BlobResponse (BlobStatus .InvalidData )
79+ class KeyDoesNotExist : BlobResponse (BlobStatus .KeyDoesNotExist )
80+ class DatabaseFull : BlobResponse (BlobStatus .DatabaseFull )
81+ class DataStale : BlobResponse (BlobStatus .DataStale )
82+ class NotSupported : BlobResponse (BlobStatus .NotSupported )
83+ class Locked : BlobResponse (BlobStatus .Locked )
84+ class TryLater : BlobResponse (BlobStatus .TryLater )
8085
8186 val token = SUShort (m)
8287 val response = SByte (m, response.value)
88+
8389 companion object {
8490 val endpoint = ProtocolEndpoint .BLOBDB_V1
8591 }
8692}
8793
88- @ExperimentalUnsignedTypes
94+ @OptIn( ExperimentalUnsignedTypes :: class )
8995fun blobDBPacketsRegister () {
9096 PacketRegistry .registerCustomTypeOffset(BlobResponse .endpoint, 4 + UShort .SIZE_BYTES )
91- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .Success .value) {BlobResponse .Success ()}
92- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .GeneralFailure .value) {BlobResponse .GeneralFailure ()}
93- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .InvalidOperation .value) {BlobResponse .InvalidOperation ()}
94- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .InvalidDatabaseID .value) {BlobResponse .InvalidDatabaseID ()}
95- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .InvalidData .value) {BlobResponse .InvalidData ()}
96- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .KeyDoesNotExist .value) {BlobResponse .KeyDoesNotExist ()}
97- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .DatabaseFull .value) {BlobResponse .DatabaseFull ()}
98- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .DataStale .value) {BlobResponse .DataStale ()}
99- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .NotSupported .value) {BlobResponse .NotSupported ()}
100- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .Locked .value) {BlobResponse .Locked ()}
101- PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .TryLater .value) {BlobResponse .TryLater ()}
97+ PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .Success .value) { BlobResponse .Success () }
98+ PacketRegistry .register(
99+ BlobResponse .endpoint,
100+ BlobResponse .BlobStatus .GeneralFailure .value
101+ ) { BlobResponse .GeneralFailure () }
102+ PacketRegistry .register(
103+ BlobResponse .endpoint,
104+ BlobResponse .BlobStatus .InvalidOperation .value
105+ ) { BlobResponse .InvalidOperation () }
106+ PacketRegistry .register(
107+ BlobResponse .endpoint,
108+ BlobResponse .BlobStatus .InvalidDatabaseID .value
109+ ) { BlobResponse .InvalidDatabaseID () }
110+ PacketRegistry .register(
111+ BlobResponse .endpoint,
112+ BlobResponse .BlobStatus .InvalidData .value
113+ ) { BlobResponse .InvalidData () }
114+ PacketRegistry .register(
115+ BlobResponse .endpoint,
116+ BlobResponse .BlobStatus .KeyDoesNotExist .value
117+ ) { BlobResponse .KeyDoesNotExist () }
118+ PacketRegistry .register(
119+ BlobResponse .endpoint,
120+ BlobResponse .BlobStatus .DatabaseFull .value
121+ ) { BlobResponse .DatabaseFull () }
122+ PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .DataStale .value) { BlobResponse .DataStale () }
123+ PacketRegistry .register(
124+ BlobResponse .endpoint,
125+ BlobResponse .BlobStatus .NotSupported .value
126+ ) { BlobResponse .NotSupported () }
127+ PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .Locked .value) { BlobResponse .Locked () }
128+ PacketRegistry .register(BlobResponse .endpoint, BlobResponse .BlobStatus .TryLater .value) { BlobResponse .TryLater () }
102129}
0 commit comments