libeditcore.swift 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import Foundation
  2. public class Imagemeter {
  3. public class func computeImagemeter() -> Int32 {
  4. return computeValue()
  5. }
  6. public class func computeFaculty(n : Int32) -> Int32 {
  7. return im_computeFaculty(n)
  8. }
  9. public class func stringLength(str : String) -> Int32 {
  10. return im_stringLength(str);
  11. }
  12. public class func toUpper(str : String) -> String {
  13. let upperCStr = UnsafeMutablePointer<Int8>(im_toUpper(str))!
  14. let upper = String(cString: upperCStr)
  15. free(upperCStr)
  16. return upper
  17. }
  18. public class func hash(data : [UInt8], dataSize : Int32) -> UInt8 {
  19. return im_hash(UnsafePointer(data), dataSize);
  20. }
  21. public class func encodeCodedJson(json : String) -> Data {
  22. let codedFile = im_encodeCodedJson(UnsafePointer(json))
  23. let cPtr = UnsafePointer<UInt8>(codedFile.mem)!
  24. // let buffer = UnsafeBufferPointer<UInt8>(start: cPtr, count: Int(codedFile.size))
  25. // let coded = Array(buffer)
  26. // return coded
  27. let outputData = Data(bytes: cPtr, count: Int(codedFile.size))
  28. return outputData
  29. }
  30. public class func decodeCodedJson(input : Data) -> String {
  31. let inputData = NSData(data: input)
  32. let ptrToInput = inputData.bytes.assumingMemoryBound(to: UInt8.self)
  33. let cStr = UnsafeMutablePointer<Int8>(im_decodeCodedJson(ptrToInput, Int32(input.count)))!
  34. let json = String(cString : cStr)
  35. free(cStr)
  36. return json
  37. }
  38. }