@@ -521,7 +521,7 @@ public protocol SuggestStoreProtocol : AnyObject {
521
521
522
522
func ingest( constraints: SuggestIngestionConstraints ) throws
523
523
524
- func interrupt( )
524
+ func interrupt( kind : InterruptKind ? )
525
525
526
526
func query( query: SuggestionQuery ) throws -> [ Suggestion ]
527
527
@@ -617,8 +617,9 @@ open func ingest(constraints: SuggestIngestionConstraints)throws {try rustCallW
617
617
}
618
618
}
619
619
620
- open func interrupt( ) { try ! rustCall ( ) {
621
- uniffi_suggest_fn_method_suggeststore_interrupt ( self . uniffiClonePointer ( ) , $0
620
+ open func interrupt( kind: InterruptKind ? = nil ) { try ! rustCall ( ) {
621
+ uniffi_suggest_fn_method_suggeststore_interrupt ( self . uniffiClonePointer ( ) ,
622
+ FfiConverterOptionTypeInterruptKind . lower ( kind) , $0
622
623
)
623
624
}
624
625
}
@@ -1003,6 +1004,68 @@ public func FfiConverterTypeSuggestionQuery_lower(_ value: SuggestionQuery) -> R
1003
1004
return FfiConverterTypeSuggestionQuery . lower ( value)
1004
1005
}
1005
1006
1007
+ // Note that we don't yet support `indirect` for enums.
1008
+ // See https://github.com/mozilla/uniffi-rs/issues/396 for further discussion.
1009
+
1010
+ public enum InterruptKind {
1011
+
1012
+ case read
1013
+ case write
1014
+ case readWrite
1015
+ }
1016
+
1017
+
1018
+ public struct FfiConverterTypeInterruptKind : FfiConverterRustBuffer {
1019
+ typealias SwiftType = InterruptKind
1020
+
1021
+ public static func read( from buf: inout ( data: Data , offset: Data . Index ) ) throws -> InterruptKind {
1022
+ let variant : Int32 = try readInt ( & buf)
1023
+ switch variant {
1024
+
1025
+ case 1 : return . read
1026
+
1027
+ case 2 : return . write
1028
+
1029
+ case 3 : return . readWrite
1030
+
1031
+ default : throw UniffiInternalError . unexpectedEnumCase
1032
+ }
1033
+ }
1034
+
1035
+ public static func write( _ value: InterruptKind , into buf: inout [ UInt8 ] ) {
1036
+ switch value {
1037
+
1038
+
1039
+ case . read:
1040
+ writeInt ( & buf, Int32 ( 1 ) )
1041
+
1042
+
1043
+ case . write:
1044
+ writeInt ( & buf, Int32 ( 2 ) )
1045
+
1046
+
1047
+ case . readWrite:
1048
+ writeInt ( & buf, Int32 ( 3 ) )
1049
+
1050
+ }
1051
+ }
1052
+ }
1053
+
1054
+
1055
+ public func FfiConverterTypeInterruptKind_lift( _ buf: RustBuffer ) throws -> InterruptKind {
1056
+ return try FfiConverterTypeInterruptKind . lift ( buf)
1057
+ }
1058
+
1059
+ public func FfiConverterTypeInterruptKind_lower( _ value: InterruptKind ) -> RustBuffer {
1060
+ return FfiConverterTypeInterruptKind . lower ( value)
1061
+ }
1062
+
1063
+
1064
+
1065
+ extension InterruptKind : Equatable , Hashable { }
1066
+
1067
+
1068
+
1006
1069
1007
1070
public enum SuggestApiError {
1008
1071
@@ -1435,6 +1498,27 @@ fileprivate struct FfiConverterOptionString: FfiConverterRustBuffer {
1435
1498
}
1436
1499
}
1437
1500
1501
+ fileprivate struct FfiConverterOptionTypeInterruptKind : FfiConverterRustBuffer {
1502
+ typealias SwiftType = InterruptKind ?
1503
+
1504
+ public static func write( _ value: SwiftType , into buf: inout [ UInt8 ] ) {
1505
+ guard let value = value else {
1506
+ writeInt ( & buf, Int8 ( 0 ) )
1507
+ return
1508
+ }
1509
+ writeInt ( & buf, Int8 ( 1 ) )
1510
+ FfiConverterTypeInterruptKind . write ( value, into: & buf)
1511
+ }
1512
+
1513
+ public static func read( from buf: inout ( data: Data , offset: Data . Index ) ) throws -> SwiftType {
1514
+ switch try readInt ( & buf) as Int8 {
1515
+ case 0 : return nil
1516
+ case 1 : return try FfiConverterTypeInterruptKind . read ( from: & buf)
1517
+ default : throw UniffiInternalError . unexpectedOptionalTag
1518
+ }
1519
+ }
1520
+ }
1521
+
1438
1522
fileprivate struct FfiConverterOptionTypeSuggestProviderConfig : FfiConverterRustBuffer {
1439
1523
typealias SwiftType = SuggestProviderConfig ?
1440
1524
@@ -1633,7 +1717,7 @@ private var initializationResult: InitializationResult {
1633
1717
if ( uniffi_suggest_checksum_method_suggeststore_ingest ( ) != 4478 ) {
1634
1718
return InitializationResult . apiChecksumMismatch
1635
1719
}
1636
- if ( uniffi_suggest_checksum_method_suggeststore_interrupt ( ) != 11751 ) {
1720
+ if ( uniffi_suggest_checksum_method_suggeststore_interrupt ( ) != 17785 ) {
1637
1721
return InitializationResult . apiChecksumMismatch
1638
1722
}
1639
1723
if ( uniffi_suggest_checksum_method_suggeststore_query ( ) != 12875 ) {
0 commit comments