summaryrefslogtreecommitdiff
path: root/backend/utils.h
blob: b43c2bdc2f45314cb7a161fab19f2021def26b08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */
#pragma once

#include <curl/curl.h>

namespace katja
{
struct JobData
{
    sqlite3 *db;
    CURL *curl;
};

enum class Info
{
    // Error.
    unknown,
    // Installed in the same version.
    installed,
    // A different version is installed.
    updating,
    // Available, but not installed.
    installing,
    // Available.
    available
};

CURLcode get_file(CURL **curl, char *source_url, char *dest);

char **split_package_name(const char *pkg_filename);

Info is_installed(const char *pkg_fullname);

int cmp_repo(const void *a, const void *b);

}