1 /*
2  * Copyright (C) 2012-2018 Red Hat, Inc.
3  *
4  * Licensed under the GNU Lesser General Public License Version 2.1
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #ifndef HY_SELECTOR_H
22 #define HY_SELECTOR_H
23 
24 #include <glib.h>
25 
26 #include "dnf-sack.h"
27 #include "hy-types.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 HySelector hy_selector_create(DnfSack *sack);
34 void hy_selector_free(HySelector sltr);
35 int hy_selector_pkg_set(HySelector sltr, DnfPackageSet* pset);
36 int hy_selector_set(HySelector sltr, int keyname, int cmp_type,
37                     const char *match);
38 GPtrArray *hy_selector_matches(HySelector sltr);
39 
40 #ifdef __cplusplus
41 }
42 #endif
43 
44 G_DEFINE_AUTO_CLEANUP_FREE_FUNC(HySelector, hy_selector_free, NULL)
45 
46 #endif
47