@@ -1706,6 +1706,10 @@ internal open class UniffiVTableCallbackInterfaceWidgetCapabilitiesProvider(
17061706
17071707
17081708
1709+
1710+
1711+
1712+
17091713
17101714
17111715
@@ -2573,6 +2577,8 @@ internal interface UniffiLib : Library {
25732577 ): Unit
25742578 fun uniffi_matrix_sdk_ffi_fn_func_make_widget_driver(`settings`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus,
25752579 ): RustBuffer.ByValue
2580+ fun uniffi_matrix_sdk_ffi_fn_func_matrix_to_user_permalink(`userId`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus,
2581+ ): RustBuffer.ByValue
25762582 fun uniffi_matrix_sdk_ffi_fn_func_media_source_from_url(`url`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus,
25772583 ): Pointer
25782584 fun uniffi_matrix_sdk_ffi_fn_func_message_event_content_from_html(`body`: RustBuffer.ByValue,`htmlBody`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus,
@@ -2587,6 +2593,8 @@ internal interface UniffiLib : Library {
25872593 ): Pointer
25882594 fun uniffi_matrix_sdk_ffi_fn_func_new_virtual_element_call_widget(`props`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus,
25892595 ): RustBuffer.ByValue
2596+ fun uniffi_matrix_sdk_ffi_fn_func_parse_matrix_entity_from(`uri`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus,
2597+ ): RustBuffer.ByValue
25902598 fun uniffi_matrix_sdk_ffi_fn_func_sdk_git_sha(uniffi_out_err: UniffiRustCallStatus,
25912599 ): RustBuffer.ByValue
25922600 fun uniffi_matrix_sdk_ffi_fn_func_setup_otlp_tracing(`config`: RustBuffer.ByValue,uniffi_out_err: UniffiRustCallStatus,
@@ -2719,6 +2727,8 @@ internal interface UniffiLib : Library {
27192727 ): Short
27202728 fun uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver(
27212729 ): Short
2730+ fun uniffi_matrix_sdk_ffi_checksum_func_matrix_to_user_permalink(
2731+ ): Short
27222732 fun uniffi_matrix_sdk_ffi_checksum_func_media_source_from_url(
27232733 ): Short
27242734 fun uniffi_matrix_sdk_ffi_checksum_func_message_event_content_from_html(
@@ -2733,6 +2743,8 @@ internal interface UniffiLib : Library {
27332743 ): Short
27342744 fun uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget(
27352745 ): Short
2746+ fun uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from(
2747+ ): Short
27362748 fun uniffi_matrix_sdk_ffi_checksum_func_sdk_git_sha(
27372749 ): Short
27382750 fun uniffi_matrix_sdk_ffi_checksum_func_setup_otlp_tracing(
@@ -3451,6 +3463,9 @@ private fun uniffiCheckApiChecksums(lib: UniffiLib) {
34513463 if (lib.uniffi_matrix_sdk_ffi_checksum_func_make_widget_driver() != 11382.toShort()) {
34523464 throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
34533465 }
3466+ if (lib.uniffi_matrix_sdk_ffi_checksum_func_matrix_to_user_permalink() != 56419.toShort()) {
3467+ throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
3468+ }
34543469 if (lib.uniffi_matrix_sdk_ffi_checksum_func_media_source_from_url() != 33587.toShort()) {
34553470 throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
34563471 }
@@ -3472,6 +3487,9 @@ private fun uniffiCheckApiChecksums(lib: UniffiLib) {
34723487 if (lib.uniffi_matrix_sdk_ffi_checksum_func_new_virtual_element_call_widget() != 39901.toShort()) {
34733488 throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
34743489 }
3490+ if (lib.uniffi_matrix_sdk_ffi_checksum_func_parse_matrix_entity_from() != 20064.toShort()) {
3491+ throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
3492+ }
34753493 if (lib.uniffi_matrix_sdk_ffi_checksum_func_sdk_git_sha() != 4038.toShort()) {
34763494 throw RuntimeException("UniFFI API checksum mismatch: try cleaning and rebuilding your project")
34773495 }
@@ -19277,6 +19295,39 @@ public object FfiConverterTypeLocationContent: FfiConverterRustBuffer<LocationCo
1927719295
1927819296
1927919297
19298+ /**
19299+ * A Matrix entity that can be a room, room alias, user, or event, and a list
19300+ * of via servers.
19301+ */
19302+ data class MatrixEntity (
19303+ var `id`: MatrixId,
19304+ var `via`: List<kotlin.String>
19305+ ) {
19306+
19307+ companion object
19308+ }
19309+
19310+ public object FfiConverterTypeMatrixEntity: FfiConverterRustBuffer<MatrixEntity> {
19311+ override fun read(buf: ByteBuffer): MatrixEntity {
19312+ return MatrixEntity(
19313+ FfiConverterTypeMatrixId.read(buf),
19314+ FfiConverterSequenceString.read(buf),
19315+ )
19316+ }
19317+
19318+ override fun allocationSize(value: MatrixEntity) = (
19319+ FfiConverterTypeMatrixId.allocationSize(value.`id`) +
19320+ FfiConverterSequenceString.allocationSize(value.`via`)
19321+ )
19322+
19323+ override fun write(value: MatrixEntity, buf: ByteBuffer) {
19324+ FfiConverterTypeMatrixId.write(value.`id`, buf)
19325+ FfiConverterSequenceString.write(value.`via`, buf)
19326+ }
19327+ }
19328+
19329+
19330+
1928019331data class Mentions (
1928119332 var `userIds`: List<kotlin.String>,
1928219333 var `room`: kotlin.Boolean
@@ -22393,6 +22444,144 @@ public object FfiConverterTypeLogLevel: FfiConverterRustBuffer<LogLevel> {
2239322444
2239422445
2239522446
22447+ /**
22448+ * A Matrix ID that can be a room, room alias, user, or event.
22449+ */
22450+ sealed class MatrixId {
22451+
22452+ data class Room(
22453+ val `id`: kotlin.String) : MatrixId() {
22454+ companion object
22455+ }
22456+
22457+ data class RoomAlias(
22458+ val `alias`: kotlin.String) : MatrixId() {
22459+ companion object
22460+ }
22461+
22462+ data class User(
22463+ val `id`: kotlin.String) : MatrixId() {
22464+ companion object
22465+ }
22466+
22467+ data class EventOnRoomId(
22468+ val `roomId`: kotlin.String,
22469+ val `eventId`: kotlin.String) : MatrixId() {
22470+ companion object
22471+ }
22472+
22473+ data class EventOnRoomAlias(
22474+ val `alias`: kotlin.String,
22475+ val `eventId`: kotlin.String) : MatrixId() {
22476+ companion object
22477+ }
22478+
22479+
22480+
22481+ companion object
22482+ }
22483+
22484+ public object FfiConverterTypeMatrixId : FfiConverterRustBuffer<MatrixId>{
22485+ override fun read(buf: ByteBuffer): MatrixId {
22486+ return when(buf.getInt()) {
22487+ 1 -> MatrixId.Room(
22488+ FfiConverterString.read(buf),
22489+ )
22490+ 2 -> MatrixId.RoomAlias(
22491+ FfiConverterString.read(buf),
22492+ )
22493+ 3 -> MatrixId.User(
22494+ FfiConverterString.read(buf),
22495+ )
22496+ 4 -> MatrixId.EventOnRoomId(
22497+ FfiConverterString.read(buf),
22498+ FfiConverterString.read(buf),
22499+ )
22500+ 5 -> MatrixId.EventOnRoomAlias(
22501+ FfiConverterString.read(buf),
22502+ FfiConverterString.read(buf),
22503+ )
22504+ else -> throw RuntimeException("invalid enum value, something is very wrong!!")
22505+ }
22506+ }
22507+
22508+ override fun allocationSize(value: MatrixId) = when(value) {
22509+ is MatrixId.Room -> {
22510+ // Add the size for the Int that specifies the variant plus the size needed for all fields
22511+ (
22512+ 4UL
22513+ + FfiConverterString.allocationSize(value.`id`)
22514+ )
22515+ }
22516+ is MatrixId.RoomAlias -> {
22517+ // Add the size for the Int that specifies the variant plus the size needed for all fields
22518+ (
22519+ 4UL
22520+ + FfiConverterString.allocationSize(value.`alias`)
22521+ )
22522+ }
22523+ is MatrixId.User -> {
22524+ // Add the size for the Int that specifies the variant plus the size needed for all fields
22525+ (
22526+ 4UL
22527+ + FfiConverterString.allocationSize(value.`id`)
22528+ )
22529+ }
22530+ is MatrixId.EventOnRoomId -> {
22531+ // Add the size for the Int that specifies the variant plus the size needed for all fields
22532+ (
22533+ 4UL
22534+ + FfiConverterString.allocationSize(value.`roomId`)
22535+ + FfiConverterString.allocationSize(value.`eventId`)
22536+ )
22537+ }
22538+ is MatrixId.EventOnRoomAlias -> {
22539+ // Add the size for the Int that specifies the variant plus the size needed for all fields
22540+ (
22541+ 4UL
22542+ + FfiConverterString.allocationSize(value.`alias`)
22543+ + FfiConverterString.allocationSize(value.`eventId`)
22544+ )
22545+ }
22546+ }
22547+
22548+ override fun write(value: MatrixId, buf: ByteBuffer) {
22549+ when(value) {
22550+ is MatrixId.Room -> {
22551+ buf.putInt(1)
22552+ FfiConverterString.write(value.`id`, buf)
22553+ Unit
22554+ }
22555+ is MatrixId.RoomAlias -> {
22556+ buf.putInt(2)
22557+ FfiConverterString.write(value.`alias`, buf)
22558+ Unit
22559+ }
22560+ is MatrixId.User -> {
22561+ buf.putInt(3)
22562+ FfiConverterString.write(value.`id`, buf)
22563+ Unit
22564+ }
22565+ is MatrixId.EventOnRoomId -> {
22566+ buf.putInt(4)
22567+ FfiConverterString.write(value.`roomId`, buf)
22568+ FfiConverterString.write(value.`eventId`, buf)
22569+ Unit
22570+ }
22571+ is MatrixId.EventOnRoomAlias -> {
22572+ buf.putInt(5)
22573+ FfiConverterString.write(value.`alias`, buf)
22574+ FfiConverterString.write(value.`eventId`, buf)
22575+ Unit
22576+ }
22577+ }.let { /* this makes the `when` an expression, which ensures it is exhaustive */ }
22578+ }
22579+ }
22580+
22581+
22582+
22583+
22584+
2239622585
2239722586enum class MediaInfoError {
2239822587
@@ -29215,6 +29404,35 @@ public object FfiConverterOptionalTypeInsertData: FfiConverterRustBuffer<InsertD
2921529404
2921629405
2921729406
29407+ public object FfiConverterOptionalTypeMatrixEntity: FfiConverterRustBuffer<MatrixEntity?> {
29408+ override fun read(buf: ByteBuffer): MatrixEntity? {
29409+ if (buf.get().toInt() == 0) {
29410+ return null
29411+ }
29412+ return FfiConverterTypeMatrixEntity.read(buf)
29413+ }
29414+
29415+ override fun allocationSize(value: MatrixEntity?): ULong {
29416+ if (value == null) {
29417+ return 1UL
29418+ } else {
29419+ return 1UL + FfiConverterTypeMatrixEntity.allocationSize(value)
29420+ }
29421+ }
29422+
29423+ override fun write(value: MatrixEntity?, buf: ByteBuffer) {
29424+ if (value == null) {
29425+ buf.put(0)
29426+ } else {
29427+ buf.put(1)
29428+ FfiConverterTypeMatrixEntity.write(value, buf)
29429+ }
29430+ }
29431+ }
29432+
29433+
29434+
29435+
2921829436public object FfiConverterOptionalTypeNotificationItem: FfiConverterRustBuffer<NotificationItem?> {
2921929437 override fun read(buf: ByteBuffer): NotificationItem? {
2922029438 if (buf.get().toInt() == 0) {
@@ -30970,6 +31188,18 @@ fun `makeWidgetDriver`(`settings`: WidgetSettings): WidgetDriverAndHandle {
3097031188})
3097131189}
3097231190
31191+ /**
31192+ * Generates a `matrix.to` permalink from to the given userID.
31193+ */
31194+ @Throws(ClientException::class)
31195+
31196+ fun `matrixToUserPermalink`(`userId`: kotlin.String): kotlin.String {
31197+ return FfiConverterString.lift(
31198+ uniffiRustCallWithError(ClientException) { _status ->
31199+ UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_func_matrix_to_user_permalink(FfiConverterString.lower(`userId`),_status)
31200+ })
31201+ }
31202+
3097331203
3097431204fun `mediaSourceFromUrl`(`url`: kotlin.String): MediaSource {
3097531205 return FfiConverterTypeMediaSource.lift(
@@ -31041,6 +31271,18 @@ fun `newVirtualElementCallWidget`(`props`: VirtualElementCallWidgetOptions): Wid
3104131271})
3104231272}
3104331273
31274+ /**
31275+ * Parse a matrix entity from a given URI, be it either
31276+ * a `matrix.to` link or a `matrix:` URI
31277+ */
31278+
31279+ fun `parseMatrixEntityFrom`(`uri`: kotlin.String): MatrixEntity? {
31280+ return FfiConverterOptionalTypeMatrixEntity.lift(
31281+ uniffiRustCall() { _status ->
31282+ UniffiLib.INSTANCE.uniffi_matrix_sdk_ffi_fn_func_parse_matrix_entity_from(FfiConverterString.lower(`uri`),_status)
31283+ })
31284+ }
31285+
3104431286
3104531287fun `sdkGitSha`(): kotlin.String {
3104631288 return FfiConverterString.lift(
0 commit comments