Files
reactos/base/applications/rapps/include/applicationdb.h
Mark Jansen 33c2903e6d [RAPPS] Rework application handling
Previously, there would be function duplication between installed and available applications.
Now this is handled with polymorphism, which allows to re-use a lot of code.
Additionally, toolbar buttons are properly disabled now.
The mutex used to guard rapps' single instance is renamed,
so that the 'new' and old rapps can be run at the same time for testing.

CORE-18459
2023-02-20 19:30:02 +01:00

36 lines
648 B
C++

#pragma once
#include <atlcoll.h>
#include <atlpath.h>
#include "applicationinfo.h"
class CApplicationDB
{
private:
CPathW m_BasePath;
CAtlList<CApplicationInfo *> m_Available;
CAtlList<CApplicationInfo *> m_Installed;
BOOL
EnumerateFiles();
public:
CApplicationDB(const CStringW &path);
VOID
GetApps(CAtlList<CApplicationInfo *> &List, AppsCategories Type) const;
CApplicationInfo *
FindByPackageName(const CStringW &name);
VOID
UpdateAvailable();
VOID
UpdateInstalled();
VOID
RemoveCached();
BOOL
RemoveInstalledAppFromRegistry(const CApplicationInfo *Info);
};