- Revamp whole DB to Display flow - Filter Pipeline, arbitrary filtering and sorting - Binary tree arrays for faster lookup & manipulation - DB: introducing custom functions - DB scheme: split req into heap & cache - cache written by GlassVPN only - heap written by Main App only - Introducing DB separation: DBCore, DBCommon, DBAppOnly - Introducing DB data sources: TestDataSource, GroupedDomainDataSource, RecordingsDB, DomainFilter - Background sync: Move entries from cache to heap and notify all observers - GlassVPN: Binary tree filter lookup - GlassVPN: Reusing prepared statement
20 lines
629 B
Swift
20 lines
629 B
Swift
import Foundation
|
|
|
|
fileprivate extension FileManager {
|
|
// func exportDir() -> URL {
|
|
// try! url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
|
|
// }
|
|
func appGroupDir() -> URL {
|
|
containerURL(forSecurityApplicationGroupIdentifier: "group.de.uni-bamberg.psi.AppCheck")!
|
|
}
|
|
func internalDB() -> URL {
|
|
appGroupDir().appendingPathComponent("dns-logs.sqlite")
|
|
}
|
|
}
|
|
|
|
extension URL {
|
|
// static func exportDir() -> URL { FileManager.default.exportDir() }
|
|
static func appGroupDir() -> URL { FileManager.default.appGroupDir() }
|
|
static func internalDB() -> URL { FileManager.default.internalDB() }
|
|
}
|