summaryrefslogtreecommitdiff
path: root/src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
diff options
context:
space:
mode:
authorArne Schwabe <arne@rfc2549.org>2013-04-06 19:46:07 +0200
committerArne Schwabe <arne@rfc2549.org>2013-04-06 19:46:07 +0200
commitbde3a3f780cc668619076df96147b76be1c4ab64 (patch)
tree0c47b7894df388844ef3b9a806711b704c227b3d /src/de/blinkt/openvpn/api/IOpenVPNAPIService.aidl
parentad2256b6fe9c211d06321d99590cb457427d8e7d (diff)
Add external API with security.
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