AppUtils.h
1 #pragma once 2 3 #include <WorkspacesLib/WorkspacesData.h> 4 5 namespace Utils 6 { 7 namespace Apps 8 { 9 struct AppData 10 { 11 std::wstring name; 12 std::wstring installPath; 13 std::wstring packageFullName; 14 std::wstring appUserModelId; 15 std::wstring pwaAppId; 16 std::wstring protocolPath; 17 bool canLaunchElevated = false; 18 19 bool IsEdge() const; 20 bool IsChrome() const; 21 bool IsSteamGame() const; 22 }; 23 24 using AppList = std::vector<AppData>; 25 26 const std::wstring& GetCurrentFolder(); 27 const std::wstring& GetCurrentFolderUpper(); 28 29 AppList GetAppsList(); 30 std::optional<AppData> GetApp(const std::wstring& appPath, DWORD pid, const AppList& apps); 31 std::optional<AppData> GetApp(HWND window, const AppList& apps); 32 33 bool UpdateAppVersion(WorkspacesData::WorkspacesProject::Application& app, const AppList& installedApps); 34 bool UpdateWorkspacesApps(WorkspacesData::WorkspacesProject& workspace, const AppList& installedApps); 35 } 36 }