summaryrefslogtreecommitdiff
path: root/src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl')
-rw-r--r--src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl b/src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
new file mode 100644
index 00000000..c1e32eac
--- /dev/null
+++ b/src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
@@ -0,0 +1,41 @@
+// IOpenVPNAPIService.aidl
+package de.blinkt.openvpn.api;
+
+import de.blinkt.openvpn.api.APIVpnProfile;
+import de.blinkt.openvpn.api.IOpenVPNStatusCallback;
+
+import android.content.Intent;
+import android.os.ParcelFileDescriptor;
+
+interface IOpenVPNAPIService {
+ List<APIVpnProfile> getProfiles();
+
+ void startProfile (String profileUUID);
+
+ /* Use a profile with all certificates etc. embedded */
+ boolean addVPNProfile (String name, String config);
+
+ /* start a profile using an config */
+ void startVPN (String inlineconfig);
+
+ /* This permission framework is used to avoid confused deputy style attack to the VPN
+ * calling this will give null if the app is allowed to use the frame and null otherwise */
+ Intent prepare (String packagename);
+
+ /* Tells the calling app wether we already have permission to avoid calling the activity/flicker */
+ boolean hasPermission();
+
+ /* Disconnect the VPN */
+ void disconnect();
+
+ /**
+ * Registers to receive OpenVPN Status Updates
+ */
+ void registerStatusCallback(IOpenVPNStatusCallback cb);
+
+ /**
+ * Remove a previously registered callback interface.
+ */
+ void unregisterStatusCallback(IOpenVPNStatusCallback cb);
+
+} \ No newline at end of file