mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
33 lines
1 KiB
Swift
33 lines
1 KiB
Swift
|
|
||
|
@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)" }
|
||
|
}
|