diff --git a/api/net/sf/briar/api/plugins/Plugin.java b/api/net/sf/briar/api/plugins/Plugin.java index f34fd4b6d422e85b910bfffc6e128295b09dcb7d..3358c1ff6a31ee1c7e37310c3df57cb73f90c3bf 100644 --- a/api/net/sf/briar/api/plugins/Plugin.java +++ b/api/net/sf/briar/api/plugins/Plugin.java @@ -33,4 +33,7 @@ public interface Plugin { * callback. */ void poll(); + + /** Returns true if the plugin supports exchanging invitations. */ + boolean supportsInvitations(); } diff --git a/components/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java b/components/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java index 78b9c648a8726c40ea6b8f8a6117b4bb7bd0c7ff..d1efb602e7fee235fe02a316a952b2a26fedf7a1 100644 --- a/components/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java +++ b/components/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java @@ -264,6 +264,10 @@ class BluetoothPlugin extends AbstractPlugin implements StreamPlugin { return url == null ? null : connect(c, url); } + public boolean supportsInvitations() { + return true; + } + public StreamTransportConnection sendInvitation(int code, long timeout) { return createInvitationConnection(code, timeout); } diff --git a/components/net/sf/briar/plugins/file/RemovableDrivePlugin.java b/components/net/sf/briar/plugins/file/RemovableDrivePlugin.java index 9a2633fdc9716cdb76ac96434a8cfd83f7a362f2..64a6763d43ff632e666c09bb5ee321f649bd72fa 100644 --- a/components/net/sf/briar/plugins/file/RemovableDrivePlugin.java +++ b/components/net/sf/briar/plugins/file/RemovableDrivePlugin.java @@ -59,6 +59,10 @@ implements RemovableDriveMonitor.Callback { throw new UnsupportedOperationException(); } + public boolean supportsInvitations() { + return true; + } + @Override protected File chooseOutputDirectory() { try { diff --git a/components/net/sf/briar/plugins/socket/SimpleSocketPlugin.java b/components/net/sf/briar/plugins/socket/SimpleSocketPlugin.java index 09d2e96fb9add3f858325f4f3527fe692560cf6b..8daeb54cb03e587f97006d04f5906cf3121f8ce2 100644 --- a/components/net/sf/briar/plugins/socket/SimpleSocketPlugin.java +++ b/components/net/sf/briar/plugins/socket/SimpleSocketPlugin.java @@ -97,13 +97,15 @@ class SimpleSocketPlugin extends SocketPlugin { callback.setLocalProperties(p); } + public boolean supportsInvitations() { + return false; + } + public StreamTransportConnection sendInvitation(int code, long timeout) { - // FIXME - return null; + throw new UnsupportedOperationException(); } public StreamTransportConnection acceptInvitation(int code, long timeout) { - // FIXME - return null; + throw new UnsupportedOperationException(); } }