#ifndef APPSPLITTUNNELINGCONTROLLER_H #define APPSPLITTUNNELINGCONTROLLER_H #include #include "core/utils/routeModes.h" #include "core/utils/commonStructs.h" #include "core/repositories/secureAppSettingsRepository.h" class AppSplitTunnelingController { public: explicit AppSplitTunnelingController(SecureAppSettingsRepository* appSettingsRepository); bool addApp(const amnezia::InstalledAppInfo &appInfo); void removeApp(int index); void clearAppsList(); void setRouteMode(AppsRouteMode routeMode); void toggleSplitTunneling(bool enabled); AppsRouteMode getRouteMode() const; bool isSplitTunnelingEnabled() const; QVector getApps() const; private: SecureAppSettingsRepository* m_appSettingsRepository; AppsRouteMode m_currentRouteMode; QVector m_apps; }; #endif // APPSPLITTUNNELINGCONTROLLER_H