/ src / modules / Workspaces / WorkspacesLib / AppUtils.h
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  }