session-ios/SessionMessagingKit/Open Groups/V2/OpenGroupV2.swift

33 lines
1 KiB
Swift
Raw Normal View History

2021-03-24 02:37:33 +01:00
@objc(SNOpenGroupV2)
public final class OpenGroupV2 : NSObject, NSCoding { // NSObject/NSCoding conformance is needed for YapDatabase compatibility
public let server: String
public let room: String
public let id: String
public let name: String
public init(server: String, room: String, name: String) {
self.server = server.lowercased()
self.room = room
self.id = "\(server).\(room)"
self.name = name
}
// MARK: Coding
public init?(coder: NSCoder) {
server = coder.decodeObject(forKey: "server") as! String
room = coder.decodeObject(forKey: "room") as! String
self.id = "\(server).\(room)"
name = coder.decodeObject(forKey: "name") as! String
super.init()
}
public func encode(with coder: NSCoder) {
coder.encode(server, forKey: "server")
coder.encode(room, forKey: "room")
coder.encode(name, forKey: "name")
}
override public var description: String { "\(name) (\(server)\(room)" }
}