大量代码。

This commit is contained in:
Charlie Qiu
2016-06-09 00:30:08 +08:00
parent d4d5048afc
commit 76be94bb2c
601 changed files with 1961 additions and 64875 deletions

View File

@ -0,0 +1,68 @@
//
// ServerProfileManager.swift
// ShadowsocksX-NG
//
// Created by on 16/6/6.
// Copyright © 2016 qiuyuzhou. All rights reserved.
//
import Cocoa
class ServerProfileManager: NSObject {
var profiles:[ServerProfile]
var activeProfileId: String?
override init() {
profiles = [ServerProfile]()
let defaults = NSUserDefaults.standardUserDefaults()
if let _profiles = defaults.arrayForKey("ServerProfiles") {
for _profile in _profiles {
let profile = ServerProfile.fromDictionary(_profile as! [String : AnyObject])
profiles.append(profile)
}
}
activeProfileId = defaults.stringForKey("ActiveServerProfileId")
}
func setActiveProfiledId(id: String) {
activeProfileId = id
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(id, forKey: "ActiveServerProfileId")
}
func save() {
let defaults = NSUserDefaults.standardUserDefaults()
var _profiles = [AnyObject]()
for profile in profiles {
if profile.is_valid() {
let _profile = profile.toDictionary()
_profiles.append(_profile)
}
}
defaults.setObject(_profiles, forKey: "ServerProfiles")
// TODO
if activeProfileId != nil {
defaults.setObject(activeProfileId, forKey: "ActiveServerProfileId")
writeSSLocalConfFile((getActiveProfile()?.toJsonConfig())!)
} else {
removeSSLocalConfFile()
}
}
func getActiveProfile() -> ServerProfile? {
if let id = activeProfileId {
for p in profiles {
if p.uuid == id {
return p
}
}
return nil
} else {
return nil
}
}
}