summaryrefslogtreecommitdiffhomepage
path: root/gui/src/shared
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-01-15 17:29:09 +0100
committerOskar Nyberg <oskar@mullvad.net>2021-07-02 16:15:01 +0200
commitb30ac8edef0d20beb1e770bbaea90de073020710 (patch)
tree2e7a05407955d6d67d7e65034a09d33759267ed4 /gui/src/shared
parentf77cde89c6b8d3d580ee773628f89211a24852c5 (diff)
downloadmullvadvpn-b30ac8edef0d20beb1e770bbaea90de073020710.tar.xz
mullvadvpn-b30ac8edef0d20beb1e770bbaea90de073020710.zip
Add IPC and RPC methods and connect to Windows split tunneling functions
Diffstat (limited to 'gui/src/shared')
-rw-r--r--gui/src/shared/daemon-rpc-types.ts2
-rw-r--r--gui/src/shared/ipc-schema.ts18
2 files changed, 15 insertions, 5 deletions
diff --git a/gui/src/shared/daemon-rpc-types.ts b/gui/src/shared/daemon-rpc-types.ts
index b0319369cf..95285ef884 100644
--- a/gui/src/shared/daemon-rpc-types.ts
+++ b/gui/src/shared/daemon-rpc-types.ts
@@ -311,6 +311,8 @@ export interface ISettings {
tunnelOptions: ITunnelOptions;
bridgeSettings: BridgeSettings;
bridgeState: BridgeState;
+ splitTunnel: boolean;
+ splitTunnelAppsList: string[];
}
export type KeygenEvent = INewWireguardKey | KeygenFailure;
diff --git a/gui/src/shared/ipc-schema.ts b/gui/src/shared/ipc-schema.ts
index 01c5c53a95..5789bcc149 100644
--- a/gui/src/shared/ipc-schema.ts
+++ b/gui/src/shared/ipc-schema.ts
@@ -1,5 +1,5 @@
import { GetTextTranslations } from 'gettext-parser';
-import { ILinuxSplitTunnelingApplication } from './application-types';
+import { IApplication, ILinuxSplitTunnelingApplication } from './application-types';
import {
AccountToken,
BridgeSettings,
@@ -56,6 +56,7 @@ export interface IAppStateSnapshot {
translations: ITranslations;
platform: NodeJS.Platform;
runningInDevelopment: boolean;
+ windowsSplitTunnelingApplications?: IApplication[];
}
// The different types of requests are:
@@ -178,10 +179,6 @@ export const ipcSchema = {
generateKey: invoke<void, KeygenEvent>(),
verifyKey: invoke<void, boolean>(),
},
- splitTunneling: {
- getApplications: invoke<void, ILinuxSplitTunnelingApplication[]>(),
- launchApplication: invoke<ILinuxSplitTunnelingApplication | string, LaunchApplicationResult>(),
- },
problemReport: {
collectLogs: invoke<string | undefined, string>(),
sendReport: invoke<{ email: string; message: string; savedReportId: string }, void>(),
@@ -190,4 +187,15 @@ export const ipcSchema = {
logging: {
log: send<ILogEntry>(),
},
+ linuxSplitTunneling: {
+ getApplications: invoke<void, ILinuxSplitTunnelingApplication[]>(),
+ launchApplication: invoke<ILinuxSplitTunnelingApplication | string, LaunchApplicationResult>(),
+ },
+ windowsSplitTunneling: {
+ '': notifyRenderer<IApplication[]>(),
+ setState: invoke<boolean, void>(),
+ getApplications: invoke<boolean, { fromCache: boolean; applications: IApplication[] }>(),
+ addApplication: invoke<IApplication | string, void>(),
+ removeApplication: invoke<IApplication | string, void>(),
+ },
};