Allow adding unvalidated config.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jeroen Leenarts
2018-05-29 22:21:44 +02:00
parent 1407090f94
commit db7b24dd02
6 changed files with 121 additions and 16 deletions
@@ -23,6 +23,7 @@ extension Interface {
@NSManaged public var dns: String?
@NSManaged public var table: String?
@NSManaged public var tunnel: Tunnel?
@NSManaged public var publicKey: String?
@NSManaged public var adresses: NSSet?
}
@@ -17,14 +17,32 @@ extension Tunnel {
}
@NSManaged public var title: String?
@NSManaged public var peers: NSSet?
@NSManaged public var interface: Interface?
@NSManaged public var peers: NSOrderedSet?
}
// MARK: Generated accessors for peers
extension Tunnel {
@objc(insertObject:inPeersAtIndex:)
@NSManaged public func insertIntoPeers(_ value: Peer, at idx: Int)
@objc(removeObjectFromPeersAtIndex:)
@NSManaged public func removeFromPeers(at idx: Int)
@objc(insertPeers:atIndexes:)
@NSManaged public func insertIntoPeers(_ values: [Peer], at indexes: NSIndexSet)
@objc(removePeersAtIndexes:)
@NSManaged public func removeFromPeers(at indexes: NSIndexSet)
@objc(replaceObjectInPeersAtIndex:withObject:)
@NSManaged public func replacePeers(at idx: Int, with value: Peer)
@objc(replacePeersAtIndexes:withPeers:)
@NSManaged public func replacePeers(at indexes: NSIndexSet, with values: [Peer])
@objc(addPeersObject:)
@NSManaged public func addToPeers(_ value: Peer)
@@ -32,9 +50,9 @@ extension Tunnel {
@NSManaged public func removeFromPeers(_ value: Peer)
@objc(addPeers:)
@NSManaged public func addToPeers(_ values: NSSet)
@NSManaged public func addToPeers(_ values: NSOrderedSet)
@objc(removePeers:)
@NSManaged public func removeFromPeers(_ values: NSSet)
@NSManaged public func removeFromPeers(_ values: NSOrderedSet)
}
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="14133" systemVersion="17E202" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="14135" systemVersion="17E202" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<entity name="Address" representedClassName="Address" syncable="YES">
<attribute name="address" optional="YES" attributeType="String" syncable="YES"/>
<relationship name="interface" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Interface" inverseName="adresses" inverseEntity="Interface" syncable="YES"/>
@@ -10,6 +10,7 @@
<attribute name="listenPort" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="mtu" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="privateKey" attributeType="String" syncable="YES"/>
<attribute name="publicKey" attributeType="String" syncable="YES"/>
<attribute name="table" optional="YES" attributeType="String" syncable="YES"/>
<relationship name="adresses" toMany="YES" deletionRule="Cascade" destinationEntity="Address" inverseName="interface" inverseEntity="Address" syncable="YES"/>
<relationship name="tunnel" maxCount="1" deletionRule="Nullify" destinationEntity="Tunnel" inverseName="interface" inverseEntity="Tunnel" syncable="YES"/>
@@ -25,11 +26,11 @@
<entity name="Tunnel" representedClassName="Tunnel" syncable="YES">
<attribute name="title" optional="YES" attributeType="String" syncable="YES"/>
<relationship name="interface" maxCount="1" deletionRule="Cascade" destinationEntity="Interface" inverseName="tunnel" inverseEntity="Interface" syncable="YES"/>
<relationship name="peers" toMany="YES" deletionRule="Cascade" destinationEntity="Peer" inverseName="tunnel" inverseEntity="Peer" syncable="YES"/>
<relationship name="peers" toMany="YES" deletionRule="Cascade" ordered="YES" destinationEntity="Peer" inverseName="tunnel" inverseEntity="Peer" syncable="YES"/>
</entity>
<elements>
<element name="Address" positionX="-54" positionY="45" width="128" height="75"/>
<element name="Interface" positionX="-54" positionY="-9" width="128" height="165"/>
<element name="Interface" positionX="-54" positionY="-9" width="128" height="180"/>
<element name="Peer" positionX="-36" positionY="9" width="128" height="135"/>
<element name="Tunnel" positionX="160" positionY="192" width="128" height="90"/>
</elements>