Server code to fetch and toggle devices

This commit is contained in:
Charles Magahern
2015-12-31 19:51:51 -08:00
parent e85e9173e5
commit e6dd661338
11 changed files with 402 additions and 44 deletions
@@ -0,0 +1,45 @@
//
// NSErrorAdditions.swift
// XIONControlPanel
//
// Created by Charles Magahern on 12/31/15.
// Copyright © 2015 XION. All rights reserved.
//
import Foundation
enum XIONErrorCode: Int {
case Unknown
case ConnectionError
}
extension NSError {
private static let XIONErrorDomain = "com.xionsf.controlpanel"
class func xionError(code: XIONErrorCode) -> NSError
{
return self.xionError(code, userInfo: nil)
}
class func xionError(code: XIONErrorCode, underlying: NSError?) -> NSError
{
var userInfo: [NSObject : AnyObject]? = nil
if (underlying != nil) {
userInfo = [
NSUnderlyingErrorKey : underlying!
]
}
return self.xionError(code, userInfo: userInfo)
}
class func xionError(code: XIONErrorCode, userInfo: [NSObject : AnyObject]?) -> NSError
{
return NSError(domain: XIONErrorDomain, code: code.rawValue, userInfo: userInfo)
}
var xionErrorCode: XIONErrorCode
{
return XIONErrorCode(rawValue: self.code)!
}
}