@@ -3574,6 +3574,7 @@ public protocol RoomListItemProtocol {
35743574 func `isDirect`() -> Bool
35753575 func `latestEvent`() async -> EventTimelineItem?
35763576 func `name`() -> String?
3577+ func `roomInfo`() async throws -> RoomInfo
35773578 func `subscribe`(`settings`: RoomSubscription?)
35783579 func `unreadNotifications`() -> UnreadNotificationsCount
35793580 func `unsubscribe`()
@@ -3700,6 +3701,30 @@ public class RoomListItem: RoomListItemProtocol {
37003701 )
37013702 }
37023703
3704+ public func `roomInfo`() async throws -> RoomInfo {
3705+ // Suspend the function and call the scaffolding function, passing it a callback handler from
3706+ // `AsyncTypes.swift`
3707+ //
3708+ // Make sure to hold on to a reference to the continuation in the top-level scope so that
3709+ // it's not freed before the callback is invoked.
3710+ var continuation: CheckedContinuation<RoomInfo, Error>? = nil
3711+ return try await withCheckedThrowingContinuation {
3712+ continuation = $0
3713+ try! rustCall() {
3714+ uniffi_matrix_sdk_ffi_fn_method_roomlistitem_room_info(
3715+ self.pointer,
3716+
3717+ FfiConverterForeignExecutor.lower(UniFfiForeignExecutor()),
3718+ uniffiFutureCallbackHandlerTypeRoomInfoTypeClientError,
3719+ &continuation,
3720+ $0
3721+ )
3722+ }
3723+ }
3724+ }
3725+
3726+
3727+
37033728 public func `subscribe`(`settings`: RoomSubscription?) {
37043729 try!
37053730 rustCall() {
@@ -7204,6 +7229,112 @@ public func FfiConverterTypeRequiredState_lower(_ value: RequiredState) -> RustB
72047229}
72057230
72067231
7232+ public struct RoomInfo {
7233+ public var `id`: String
7234+ public var `name`: String?
7235+ public var `topic`: String?
7236+ public var `avatarUrl`: String?
7237+ public var `isDirect`: Bool
7238+ public var `isEncrypted`: Bool?
7239+ public var `isPublic`: Bool
7240+ public var `isSpace`: Bool
7241+ public var `isTombstoned`: Bool
7242+ public var `canonicalAlias`: String?
7243+ public var `alternativeAliases`: [String]
7244+ public var `membership`: Membership
7245+ public var `latestEvent`: EventTimelineItem?
7246+ public var `inviter`: RoomMember?
7247+ public var `activeMembersCount`: UInt64
7248+ public var `invitedMembersCount`: UInt64
7249+ public var `joinedMembersCount`: UInt64
7250+ public var `highlightCount`: UInt64
7251+ public var `notificationCount`: UInt64
7252+
7253+ // Default memberwise initializers are never public by default, so we
7254+ // declare one manually.
7255+ public init(`id`: String, `name`: String?, `topic`: String?, `avatarUrl`: String?, `isDirect`: Bool, `isEncrypted`: Bool?, `isPublic`: Bool, `isSpace`: Bool, `isTombstoned`: Bool, `canonicalAlias`: String?, `alternativeAliases`: [String], `membership`: Membership, `latestEvent`: EventTimelineItem?, `inviter`: RoomMember?, `activeMembersCount`: UInt64, `invitedMembersCount`: UInt64, `joinedMembersCount`: UInt64, `highlightCount`: UInt64, `notificationCount`: UInt64) {
7256+ self.`id` = `id`
7257+ self.`name` = `name`
7258+ self.`topic` = `topic`
7259+ self.`avatarUrl` = `avatarUrl`
7260+ self.`isDirect` = `isDirect`
7261+ self.`isEncrypted` = `isEncrypted`
7262+ self.`isPublic` = `isPublic`
7263+ self.`isSpace` = `isSpace`
7264+ self.`isTombstoned` = `isTombstoned`
7265+ self.`canonicalAlias` = `canonicalAlias`
7266+ self.`alternativeAliases` = `alternativeAliases`
7267+ self.`membership` = `membership`
7268+ self.`latestEvent` = `latestEvent`
7269+ self.`inviter` = `inviter`
7270+ self.`activeMembersCount` = `activeMembersCount`
7271+ self.`invitedMembersCount` = `invitedMembersCount`
7272+ self.`joinedMembersCount` = `joinedMembersCount`
7273+ self.`highlightCount` = `highlightCount`
7274+ self.`notificationCount` = `notificationCount`
7275+ }
7276+ }
7277+
7278+
7279+
7280+ public struct FfiConverterTypeRoomInfo: FfiConverterRustBuffer {
7281+ public static func read(from buf: inout (data: Data, offset: Data.Index)) throws -> RoomInfo {
7282+ return try RoomInfo(
7283+ `id`: FfiConverterString.read(from: &buf),
7284+ `name`: FfiConverterOptionString.read(from: &buf),
7285+ `topic`: FfiConverterOptionString.read(from: &buf),
7286+ `avatarUrl`: FfiConverterOptionString.read(from: &buf),
7287+ `isDirect`: FfiConverterBool.read(from: &buf),
7288+ `isEncrypted`: FfiConverterOptionBool.read(from: &buf),
7289+ `isPublic`: FfiConverterBool.read(from: &buf),
7290+ `isSpace`: FfiConverterBool.read(from: &buf),
7291+ `isTombstoned`: FfiConverterBool.read(from: &buf),
7292+ `canonicalAlias`: FfiConverterOptionString.read(from: &buf),
7293+ `alternativeAliases`: FfiConverterSequenceString.read(from: &buf),
7294+ `membership`: FfiConverterTypeMembership.read(from: &buf),
7295+ `latestEvent`: FfiConverterOptionTypeEventTimelineItem.read(from: &buf),
7296+ `inviter`: FfiConverterOptionTypeRoomMember.read(from: &buf),
7297+ `activeMembersCount`: FfiConverterUInt64.read(from: &buf),
7298+ `invitedMembersCount`: FfiConverterUInt64.read(from: &buf),
7299+ `joinedMembersCount`: FfiConverterUInt64.read(from: &buf),
7300+ `highlightCount`: FfiConverterUInt64.read(from: &buf),
7301+ `notificationCount`: FfiConverterUInt64.read(from: &buf)
7302+ )
7303+ }
7304+
7305+ public static func write(_ value: RoomInfo, into buf: inout [UInt8]) {
7306+ FfiConverterString.write(value.`id`, into: &buf)
7307+ FfiConverterOptionString.write(value.`name`, into: &buf)
7308+ FfiConverterOptionString.write(value.`topic`, into: &buf)
7309+ FfiConverterOptionString.write(value.`avatarUrl`, into: &buf)
7310+ FfiConverterBool.write(value.`isDirect`, into: &buf)
7311+ FfiConverterOptionBool.write(value.`isEncrypted`, into: &buf)
7312+ FfiConverterBool.write(value.`isPublic`, into: &buf)
7313+ FfiConverterBool.write(value.`isSpace`, into: &buf)
7314+ FfiConverterBool.write(value.`isTombstoned`, into: &buf)
7315+ FfiConverterOptionString.write(value.`canonicalAlias`, into: &buf)
7316+ FfiConverterSequenceString.write(value.`alternativeAliases`, into: &buf)
7317+ FfiConverterTypeMembership.write(value.`membership`, into: &buf)
7318+ FfiConverterOptionTypeEventTimelineItem.write(value.`latestEvent`, into: &buf)
7319+ FfiConverterOptionTypeRoomMember.write(value.`inviter`, into: &buf)
7320+ FfiConverterUInt64.write(value.`activeMembersCount`, into: &buf)
7321+ FfiConverterUInt64.write(value.`invitedMembersCount`, into: &buf)
7322+ FfiConverterUInt64.write(value.`joinedMembersCount`, into: &buf)
7323+ FfiConverterUInt64.write(value.`highlightCount`, into: &buf)
7324+ FfiConverterUInt64.write(value.`notificationCount`, into: &buf)
7325+ }
7326+ }
7327+
7328+
7329+ public func FfiConverterTypeRoomInfo_lift(_ buf: RustBuffer) throws -> RoomInfo {
7330+ return try FfiConverterTypeRoomInfo.lift(buf)
7331+ }
7332+
7333+ public func FfiConverterTypeRoomInfo_lower(_ value: RoomInfo) -> RustBuffer {
7334+ return FfiConverterTypeRoomInfo.lower(value)
7335+ }
7336+
7337+
72077338public struct RoomListEntriesResult {
72087339 public var `entries`: [RoomListEntry]
72097340 public var `entriesStream`: TaskHandle
@@ -15050,6 +15181,23 @@ fileprivate func uniffiFutureCallbackHandlerTypeEventTimelineItemDebugInfo(
1505015181 continuation.pointee.resume(throwing: error)
1505115182 }
1505215183}
15184+ fileprivate func uniffiFutureCallbackHandlerTypeRoomInfoTypeClientError(
15185+ rawContinutation: UnsafeRawPointer,
15186+ returnValue: RustBuffer,
15187+ callStatus: RustCallStatus) {
15188+
15189+ let continuation = rawContinutation.bindMemory(
15190+ to: CheckedContinuation<RoomInfo, Error>.self,
15191+ capacity: 1
15192+ )
15193+
15194+ do {
15195+ try uniffiCheckCallStatus(callStatus: callStatus, errorHandler: FfiConverterTypeClientError.lift)
15196+ continuation.pointee.resume(returning: try FfiConverterTypeRoomInfo.lift(returnValue))
15197+ } catch let error {
15198+ continuation.pointee.resume(throwing: error)
15199+ }
15200+ }
1505315201fileprivate func uniffiFutureCallbackHandlerTypeRoomListEntriesResult(
1505415202 rawContinutation: UnsafeRawPointer,
1505515203 returnValue: RustBuffer,
@@ -16336,6 +16484,9 @@ private var initializationResult: InitializationResult {
1633616484 if (uniffi_matrix_sdk_ffi_checksum_method_roomlistitem_name() != 5949) {
1633716485 return InitializationResult.apiChecksumMismatch
1633816486 }
16487+ if (uniffi_matrix_sdk_ffi_checksum_method_roomlistitem_room_info() != 17731) {
16488+ return InitializationResult.apiChecksumMismatch
16489+ }
1633916490 if (uniffi_matrix_sdk_ffi_checksum_method_roomlistitem_subscribe() != 16638) {
1634016491 return InitializationResult.apiChecksumMismatch
1634116492 }
0 commit comments