Explorar o código

replace many instances of NSData with Data

Tim Burks %!s(int64=9) %!d(string=hai) anos
pai
achega
38404b5f5d

+ 55 - 30
Examples/StickyNotes/StickyNotes/StickyServer.swift

@@ -1,11 +1,35 @@
-//
-//  StickyServer.swift
-//  StickyNotes
-//
-//  Created by Tim Burks on 9/8/16.
-//  Copyright © 2016 Google. All rights reserved.
-//
-
+/*
+ *
+ * Copyright 2016, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
 import Foundation
 import gRPC
 import QuickProto
@@ -38,7 +62,8 @@ class StickyServer {
           + " from " + requestHandler.caller())
         let initialMetadata = requestHandler.requestMetadata
         for i in 0..<initialMetadata.count() {
-          self.log("Received initial metadata -> " + initialMetadata.key(index:i) + ":" + initialMetadata.value(index:i))
+          self.log("Received initial metadata -> " + initialMetadata.key(index:i)
+            + ":" + initialMetadata.value(index:i))
         }
 
         if (requestHandler.method() == "/messagepb.StickyNote/Get") {
@@ -64,31 +89,31 @@ class StickyServer {
   }
 
   /// draw a stickynote
-  func drawImage(message: String) -> NSData {
+  func drawImage(message: String) -> Data? {
     let image = NSImage.init(size: NSSize.init(width: 400, height: 400),
                              flipped: false,
-                             drawingHandler: { (rect) -> Bool in
-                              NSColor.yellow.set()
-                              NSRectFill(rect)
-                              NSColor.black.set()
-                              let string = NSString(string:message)
-                              let trialS = CGFloat(300.0)
-                              let trialFont = NSFont.userFont(ofSize:trialS)!
-                              let trialAttributes = [NSFontAttributeName: trialFont]
-                              let trialSize = string.size(withAttributes: trialAttributes)
-                              let s = trialS * 300 / trialSize.width;
-                              let font = NSFont.userFont(ofSize:s)!
-                              let attributes = [NSFontAttributeName: font]
-                              let size = string.size(withAttributes: attributes)
-                              let x = rect.origin.x + 0.5*(rect.size.width - size.width)
-                              let y = rect.origin.y + 0.5*(rect.size.height - size.height)
-                              let r = NSMakeRect(x, y, size.width, size.height)
-                              string.draw(in: r, withAttributes:attributes)
-                              return true})
+                             drawingHandler:
+      { (rect) -> Bool in
+        NSColor.yellow.set()
+        NSRectFill(rect)
+        NSColor.black.set()
+        let string = NSString(string:message)
+        let trialS = CGFloat(300.0)
+        let trialFont = NSFont.userFont(ofSize:trialS)!
+        let trialAttributes = [NSFontAttributeName: trialFont]
+        let trialSize = string.size(withAttributes: trialAttributes)
+        let s = trialS * 300 / trialSize.width;
+        let font = NSFont.userFont(ofSize:s)!
+        let attributes = [NSFontAttributeName: font]
+        let size = string.size(withAttributes: attributes)
+        let x = rect.origin.x + 0.5*(rect.size.width - size.width)
+        let y = rect.origin.y + 0.5*(rect.size.height - size.height)
+        let r = NSMakeRect(x, y, size.width, size.height)
+        string.draw(in: r, withAttributes:attributes)
+        return true})
     let imgData: Data! = image.tiffRepresentation!
     let bitmap: NSBitmapImageRep! = NSBitmapImageRep(data: imgData)
     let pngImage = bitmap!.representation(using:NSBitmapImageFileType.PNG, properties:[:])
-    return NSData(data:pngImage!)
+    return pngImage
   }
-
 }

+ 4 - 4
Packages/QuickProto/Sources/Field.swift

@@ -88,7 +88,7 @@ public class Field {
     } else if let value = value as? Float {
       line += "\(value)"
       print(line)
-    } else if let value = value as? NSData {
+    } else if let value = value as? Data {
       line += "\(value)"
       print(line)
     } else {
@@ -117,8 +117,8 @@ public class Field {
     return value as! Message
   }
 
-  public func data() -> NSData {
-    return value as! NSData
+  public func data() -> Data {
+    return value as! Data
   }
 
   public func string() -> String {
@@ -149,7 +149,7 @@ public class Field {
     self.value = value
   }
 
-  public func setData(_ value:NSData) {
+  public func setData(_ value:Data) {
     self.value = value
   }
 

+ 0 - 1
Packages/QuickProto/Sources/FileDescriptorSet.swift

@@ -68,7 +68,6 @@ public class FileDescriptorSet {
   }
 
   func messageDescriptor(name: String) -> MessageDescriptor? {
-
     let parts = name.components(separatedBy: ".")
     let messageName = parts.last!
 

+ 5 - 3
Packages/QuickProto/Sources/Message.swift

@@ -164,13 +164,15 @@ public class Message {
       case FieldType.MESSAGE:
         let messageData = field.message().serialize()
         data.appendVarint(messageData.count)
-        messageData.withUnsafeBytes({ (bytes) -> Void in
+        messageData.withUnsafeBytes({ (bytes) in
           data.append(bytes, length: messageData.count)
         })
       case FieldType.BYTES:
         let messageData = field.data()
-        data.appendVarint(messageData.length)
-        data.append(messageData.bytes, length: messageData.length)
+        data.appendVarint(messageData.count)
+        messageData.withUnsafeBytes({ (bytes) in
+          data.append(bytes, length: messageData.count)
+        })
       case FieldType.UINT32:
         data.appendVarint(field.integer())
       case FieldType.ENUM:

+ 14 - 14
Packages/QuickProto/Sources/MessageReader.swift

@@ -36,18 +36,18 @@ import Foundation
 class MessageReader {
   var fileDescriptorSet: FileDescriptorSet
   var messageName: String
-  var data : NSData
+  var data : Data
   var cursor : Int = 0
 
   init(_ fileDescriptorSet: FileDescriptorSet, messageName: String, data: Data) {
     self.fileDescriptorSet = fileDescriptorSet
     self.messageName = messageName
-    self.data = data as NSData
+    self.data = data
   }
 
   func readMessage() -> Message? {
     if let descriptor = fileDescriptorSet.messageDescriptor(name: messageName) {
-      return readMessage(range: NSRange(location: 0, length:data.length),
+      return readMessage(range: NSRange(location: 0, length:data.count),
                          descriptor:descriptor)
     } else {
       return nil
@@ -56,49 +56,49 @@ class MessageReader {
 
   private func nextUInt8() -> (UInt8) {
     var result: UInt8 = 0
-    data.getBytes(&result, range:NSRange(location:cursor, length:1))
+    data.copyBytes(to: &result, from:cursor..<cursor+1)
     cursor += 1
     return result
   }
 
   private func nextUInt32() -> (UInt32) {
     var result: UInt32 = 0
-    data.getBytes(&result, range:NSRange(location:cursor, length:4))
+    _ = data.copyBytes(to: UnsafeMutableBufferPointer(start: &result, count: 1), from:cursor..<cursor+4)
     cursor += 4
     return result
   }
 
   private func nextUInt64() -> (UInt64) {
     var result: UInt64 = 0
-    data.getBytes(&result, range:NSRange(location:cursor, length:8))
+    _ = data.copyBytes(to: UnsafeMutableBufferPointer(start: &result, count: 1), from:cursor..<cursor+8)
     cursor += 8
     return result
   }
 
   private func nextInt32() -> (Int32) {
     var result: Int32 = 0
-    data.getBytes(&result, range:NSRange(location:cursor, length:4))
+    _ = data.copyBytes(to: UnsafeMutableBufferPointer(start: &result, count: 1), from:cursor..<cursor+4)
     cursor += 4
     return result
   }
 
   private func nextInt64() -> (Int64) {
     var result: Int64 = 0
-    data.getBytes(&result, range:NSRange(location:cursor, length:8))
+    _ = data.copyBytes(to: UnsafeMutableBufferPointer(start: &result, count: 1), from:cursor..<cursor+8)
     cursor += 8
     return result
   }
 
   private func nextDouble() -> (Double) {
     var result: Double = 0
-    data.getBytes(&result, range:NSRange(location:cursor, length:8))
+    _ = data.copyBytes(to: UnsafeMutableBufferPointer(start: &result, count: 1), from:cursor..<cursor+8)
     cursor += 8
     return result
   }
 
   private func nextFloat() -> (Float) {
     var result: Float = 0
-    data.getBytes(&result, range:NSRange(location:cursor, length:4))
+    _ = data.copyBytes(to: UnsafeMutableBufferPointer(start: &result, count: 1), from:cursor..<cursor+4)
     cursor += 4
     return result
   }
@@ -118,16 +118,16 @@ class MessageReader {
 
   private func nextString(length: Int) -> (String) {
     var buffer = [UInt8](repeating: 0, count: length)
-    data.getBytes(&buffer, range:NSRange(location:cursor, length:length))
+    data.copyBytes(to: &buffer, from:cursor..<cursor+length)
     self.cursor = self.cursor + length
     return String(bytes: buffer, encoding:String.Encoding.utf8)!
   }
 
-  private func nextData(length: Int) -> (NSData) {
+  private func nextData(length: Int) -> (Data) {
     var buffer = [UInt8](repeating: 0, count: length)
-    data.getBytes(&buffer, range:NSRange(location:cursor, length:length))
+    data.copyBytes(to: &buffer, from:cursor..<cursor+length)
     self.cursor = self.cursor + length
-    return NSData(bytes: &buffer, length: length)
+    return Data(bytes: &buffer, count: length)
   }
 
   private func readMessage(range: NSRange, descriptor : MessageDescriptor) -> Message {