summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/isode/stroke/network/NullNATTraverser.java')
-rw-r--r--src/com/isode/stroke/network/NullNATTraverser.java99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/com/isode/stroke/network/NullNATTraverser.java b/src/com/isode/stroke/network/NullNATTraverser.java
new file mode 100644
index 0000000..3e2b873
--- /dev/null
+++ b/src/com/isode/stroke/network/NullNATTraverser.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2011 Isode Limited.
+ * All rights reserved.
+ * See the COPYING file for more information.
+ */
+/*
+ * Copyright (c) 2015 Tarun Gupta.
+ * Licensed under the simplified BSD license.
+ * See Documentation/Licenses/BSD-simplified.txt for more information.
+ */
+
+package com.isode.stroke.network;
+
+import com.isode.stroke.eventloop.Event;
+import com.isode.stroke.eventloop.EventLoop;
+
+public class NullNATTraverser implements NATTraverser {
+
+ private EventLoop eventLoop;
+
+ class NullNATTraversalGetPublicIPRequest extends NATTraversalGetPublicIPRequest {
+
+ public NullNATTraversalGetPublicIPRequest(EventLoop eventLoop) {
+ this.eventLoop = eventLoop;
+ }
+
+ public void start() {
+ eventLoop.postEvent(new Event.Callback() {
+ @Override
+ public void run() {
+ onResult.emit(null);
+ }
+ });
+ }
+
+ public void stop() {
+ }
+
+ private EventLoop eventLoop;
+ };
+
+ class NullNATTraversalForwardPortRequest extends NATTraversalForwardPortRequest {
+
+ public NullNATTraversalForwardPortRequest(EventLoop eventLoop) {
+ this.eventLoop = eventLoop;
+ }
+
+ public void start() {
+ eventLoop.postEvent(new Event.Callback() {
+ @Override
+ public void run() {
+ onResult.emit(null);
+ }
+ });
+ }
+
+ public void stop() {
+ }
+
+ private EventLoop eventLoop;
+ };
+
+ class NullNATTraversalRemovePortForwardingRequest extends NATTraversalRemovePortForwardingRequest {
+
+ public NullNATTraversalRemovePortForwardingRequest(EventLoop eventLoop) {
+ this.eventLoop = eventLoop;
+ }
+
+ public void start() {
+ eventLoop.postEvent(new Event.Callback() {
+ @Override
+ public void run() {
+ onResult.emit(true);
+ }
+ });
+ }
+
+ public void stop() {
+ }
+
+ private EventLoop eventLoop;
+ };
+
+ public NullNATTraverser(EventLoop eventLoop) {
+ this.eventLoop = eventLoop;
+ }
+
+ public NATTraversalGetPublicIPRequest createGetPublicIPRequest() {
+ return new NullNATTraversalGetPublicIPRequest(eventLoop);
+ }
+
+ public NATTraversalForwardPortRequest createForwardPortRequest(int localPort, int publicPort) {
+ return new NullNATTraversalForwardPortRequest(eventLoop);
+ }
+
+ public NATTraversalRemovePortForwardingRequest createRemovePortForwardingRequest(int localPort, int publicPort) {
+ return new NullNATTraversalRemovePortForwardingRequest(eventLoop);
+ }
+} \ No newline at end of file