summaryrefslogtreecommitdiff
path: root/hyprpm/src/core/DataState.hpp
blob: 70788f72b1f3ee3a5d03e6c23799f99b9a3b67a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include <string>
#include <vector>
#include "Plugin.hpp"

struct SGlobalState {
    std::string headersHashCompiled = "";
    bool        dontWarnInstall     = false;
};

namespace DataState {
    std::string                    getDataStatePath();
    std::string                    getHeadersPath();
    void                           ensureStateStoreExists();
    void                           addNewPluginRepo(const SPluginRepository& repo);
    void                           removePluginRepo(const std::string& urlOrName);
    bool                           pluginRepoExists(const std::string& urlOrName);
    void                           updateGlobalState(const SGlobalState& state);
    SGlobalState                   getGlobalState();
    bool                           setPluginEnabled(const std::string& name, bool enabled);
    std::vector<SPluginRepository> getAllRepositories();
};