// // AppleEventUtils.swift // NetNewsWireTests // // Created by Olof Hellman on 1/7/18. // Copyright © 2018 Olof Hellman. All rights reserved. // import Foundation /* @function FourCharCode() @brief FourCharCode values like OSType, DescType or AEKeyword are really just 4 byte values commonly represented as values like 'odoc' where each byte is represented as its ASCII character. This function turns a swift string into its FourCharCode equivalent, as swift doesn't recognize FourCharCode types natively just yet. With this extension, one can use "odoc".FourCharCode() where one would really want to use 'odoc' */ extension String { func FourCharCode() -> FourCharCode { var sum: UInt32 = 0 guard ( self.count == 4) else { print ("error: FourCharCode() expected a 4 character string") return 0 } for scalar in self.unicodeScalars { sum = (sum * 256) + scalar.value } return (sum) } } extension Int { func FourCharCode() -> FourCharCode { return (UInt32(self)) } }