summaryrefslogtreecommitdiff
path: root/backend/slackpkg.h
blob: 3ba60d67f62aca67a79dc4d86488bdb9d1a1573e (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
#ifndef __SLACK_SLACKPKG_H
#define __SLACK_SLACKPKG_H

#include <cstddef>
#include "pkgtools.h"

namespace slack {

class Slackpkg final : public Pkgtools
{
public:
	Slackpkg (const gchar *name, const gchar *mirror,
			guint8 order, const gchar *blacklist, gchar **priority) noexcept;
	~Slackpkg () noexcept;

	GSList *collect_cache_info (const gchar *tmpl) noexcept;
	void generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept;

private:
	static GHashTable *cat_map;
	static const std::size_t max_buf_size = 8192;
	gchar **priority = NULL;

	void manifest (PkBackendJob *job,
			const gchar *tmpl, gchar *filename) noexcept;
};

}

#endif /* __SLACK_SLACKPKG_H */