blob: 794e3aad0140bdaa04c603c488c7834724a1d1a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
// 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 external API and an Intent
* that can be launched to request permissions otherwise */
Intent prepare (String packagename);
/** Used to trigger to the Android VPN permission dialog (VPNService.prepare()) in advance,
* if this return null OpenVPN for ANdroid already has the permissions otherwise you can start the returned Intent
* to let OpenVPN for Android request the permission */
Intent prepareVPNService ();
/* Disconnect the VPN */
void disconnect();
/* Pause the VPN (same as using the pause feature in the notifcation bar) */
void pause();
/* Resume the VPN (same as using the pause feature in the notifcation bar) */
void resume();
/**
* Registers to receive OpenVPN Status Updates
*/
void registerStatusCallback(IOpenVPNStatusCallback cb);
/**
* Remove a previously registered callback interface.
*/
void unregisterStatusCallback(IOpenVPNStatusCallback cb);
}
|