| // This source file is part of the Swift.org open source project |
| // |
| // Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors |
| // Licensed under Apache License v2.0 with Runtime Library Exception |
| // |
| // See http://swift.org/LICENSE.txt for license information |
| // See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors |
| // |
| |
| |
| public typealias SocketNativeHandle = Int32 |
| |
| extension Port { |
| public static let didBecomeInvalidNotification = NSNotification.Name(rawValue: "NSPortDidBecomeInvalidNotification") |
| } |
| |
| open class Port : NSObject, NSCopying, NSCoding { |
| |
| |
| public override init() { |
| |
| } |
| |
| public required init?(coder aDecoder: NSCoder) { |
| NSUnimplemented() |
| } |
| |
| open func encode(with aCoder: NSCoder) { |
| NSUnimplemented() |
| } |
| |
| open func copy(with zone: NSZone? = nil) -> Any { |
| NSUnimplemented() |
| } |
| |
| open func invalidate() { |
| NSUnimplemented() |
| } |
| |
| open var isValid: Bool { |
| NSUnimplemented() |
| } |
| |
| // TODO: this delegate situation is confusing on all platforms |
| /* |
| open func setDelegate(_ anObject: PortDelegate?) |
| open func delegate() -> PortDelegate? |
| */ |
| |
| // These two methods should be implemented by subclasses |
| // to setup monitoring of the port when added to a run loop, |
| // and stop monitoring if needed when removed; |
| // These methods should not be called directly! |
| open func schedule(in runLoop: RunLoop, forMode mode: RunLoopMode) { |
| NSUnimplemented() |
| } |
| |
| open func remove(from runLoop: RunLoop, forMode mode: RunLoopMode) { |
| NSUnimplemented() |
| } |
| |
| open var reservedSpaceLength: Int { |
| return 0 |
| } |
| |
| open func sendBeforeDate(_ limitDate: Date, components: NSMutableArray?, from receivePort: Port?, reserved headerSpaceReserved: Int) -> Bool { |
| NSUnimplemented() |
| } |
| |
| open func sendBeforeDate(_ limitDate: Date, msgid msgID: Int, components: NSMutableArray?, from receivePort: Port?, reserved headerSpaceReserved: Int) -> Bool { |
| NSUnimplemented() |
| } |
| } |
| |
| extension PortDelegate { |
| func handle(_ message: PortMessage) { } |
| } |
| |
| public protocol PortDelegate : class { |
| func handlePortMessage(_ message: PortMessage) |
| } |
| |
| // A subclass of NSPort which can be used for local |
| // message sending on all platforms. |
| |
| open class MessagePort : Port { |
| } |
| |
| // A subclass of NSPort which can be used for remote |
| // message sending on all platforms. |
| |
| open class SocketPort : Port { |
| |
| public convenience override init() { |
| NSUnimplemented() |
| } |
| |
| public required init?(coder aDecoder: NSCoder) { |
| NSUnimplemented() |
| } |
| |
| public convenience init?(tcpPort port: UInt16) { |
| NSUnimplemented() |
| } |
| |
| public init?(protocolFamily family: Int32, socketType type: Int32, protocol: Int32, address: Data) { |
| NSUnimplemented() |
| } |
| |
| public init?(protocolFamily family: Int32, socketType type: Int32, protocol: Int32, socket sock: SocketNativeHandle) { |
| NSUnimplemented() |
| } |
| |
| public convenience init?(remoteWithTCPPort port: UInt16, host hostName: String?) { |
| NSUnimplemented() |
| } |
| |
| public init(remoteWithProtocolFamily family: Int32, socketType type: Int32, protocol: Int32, address: Data) { |
| NSUnimplemented() |
| } |
| |
| open var protocolFamily: Int32 { |
| NSUnimplemented() |
| } |
| |
| open var socketType: Int32 { |
| NSUnimplemented() |
| } |
| |
| open var `protocol`: Int32 { |
| NSUnimplemented() |
| } |
| |
| open var address: Data { |
| NSUnimplemented() |
| } |
| |
| open var socket: SocketNativeHandle { |
| NSUnimplemented() |
| } |
| } |
| |