aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuardNetworkExtension/PacketTunnelProvider.swift
diff options
context:
space:
mode:
authorJeroen Leenarts <jeroen.leenarts@gmail.com>2018-06-22 08:23:39 +0200
committerJeroen Leenarts <jeroen.leenarts@gmail.com>2018-06-22 08:23:39 +0200
commitf30f0d1a7bcdfa65058cfe0d0571c1add11953da (patch)
tree99c5ac92d36bac58fa9f0119ad817f56c24d7e11 /WireGuardNetworkExtension/PacketTunnelProvider.swift
parentGenerate fat archive (diff)
downloadwireguard-apple-f30f0d1a7bcdfa65058cfe0d0571c1add11953da.tar.xz
wireguard-apple-f30f0d1a7bcdfa65058cfe0d0571c1add11953da.zip
Objective-C wrapper around WireguardGo.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'WireGuardNetworkExtension/PacketTunnelProvider.swift')
-rw-r--r--WireGuardNetworkExtension/PacketTunnelProvider.swift38
1 files changed, 38 insertions, 0 deletions
diff --git a/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuardNetworkExtension/PacketTunnelProvider.swift
new file mode 100644
index 0000000..095a1b8
--- /dev/null
+++ b/WireGuardNetworkExtension/PacketTunnelProvider.swift
@@ -0,0 +1,38 @@
+//
+// PacketTunnelProvider.swift
+// WireGuardNetworkExtension
+//
+// Created by Jeroen Leenarts on 19-06-18.
+// Copyright © 2018 Wireguard. All rights reserved.
+//
+
+import NetworkExtension
+
+class PacketTunnelProvider: NEPacketTunnelProvider {
+
+ override func startTunnel(options: [String: NSObject]?, completionHandler: @escaping (Error?) -> Void) {
+ // Add code here to start the process of connecting the tunnel.
+
+ }
+
+ override func stopTunnel(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
+ // Add code here to start the process of stopping the tunnel.
+ completionHandler()
+ }
+
+ override func handleAppMessage(_ messageData: Data, completionHandler: ((Data?) -> Void)?) {
+ // Add code here to handle the message.
+ if let handler = completionHandler {
+ handler(messageData)
+ }
+ }
+
+ override func sleep(completionHandler: @escaping () -> Void) {
+ // Add code here to get ready to sleep.
+ completionHandler()
+ }
+
+ override func wake() {
+ // Add code here to wake up.
+ }
+}