]> git.ipfire.org Git - people/stevee/pakfire.git/blob - python/src/solvable.h
5d2b28109ef69e042d5f4136cfa1b2b6fee36a2d
[people/stevee/pakfire.git] / python / src / solvable.h
1 /*#############################################################################
2 # #
3 # Pakfire - The IPFire package management system #
4 # Copyright (C) 2011 Pakfire development team #
5 # #
6 # This program is free software: you can redistribute it and/or modify #
7 # it under the terms of the GNU General Public License as published by #
8 # the Free Software Foundation, either version 3 of the License, or #
9 # (at your option) any later version. #
10 # #
11 # This program 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 #
14 # GNU General Public License for more details. #
15 # #
16 # You should have received a copy of the GNU General Public License #
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
18 # #
19 #############################################################################*/
20
21 #ifndef PAKFIRE_SOLVABLE_H
22 #define PAKFIRE_SOLVABLE_H
23
24 #include <Python.h>
25
26 #include <solv/solvable.h>
27
28 // Sat Solvable object
29 typedef struct {
30 PyObject_HEAD
31 Pool *_pool;
32 Id _id;
33 } SolvableObject;
34
35 extern PyObject* Solvable_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
36 extern PyObject *Solvable_dealloc(SolvableObject *self);
37 extern PyObject *Solvable_string(SolvableObject *self);
38
39 extern PyObject *Solvable_get_name(SolvableObject *self);
40 extern PyObject *Solvable_get_evr(SolvableObject *self);
41 extern PyObject *Solvable_get_arch(SolvableObject *self);
42
43 extern PyObject *Solvable_get_vendor(SolvableObject *self);
44 extern PyObject *Solvable_set_vendor(SolvableObject *self, PyObject *args);
45
46 extern PyObject *Solvable_get_repo_name(SolvableObject *self);
47
48 extern PyObject *Solvable_get_uuid(SolvableObject *self);
49 extern PyObject *Solvable_set_uuid(SolvableObject *self, PyObject *args);
50
51 extern PyObject *Solvable_get_hash1(SolvableObject *self);
52 extern PyObject *Solvable_set_hash1(SolvableObject *self, PyObject *args);
53
54 extern PyObject *Solvable_get_summary(SolvableObject *self);
55 extern PyObject *Solvable_set_summary(SolvableObject *self, PyObject *args);
56
57 extern PyObject *Solvable_get_description(SolvableObject *self);
58 extern PyObject *Solvable_set_description(SolvableObject *self, PyObject *args);
59
60 extern PyObject *Solvable_get_groups(SolvableObject *self);
61 extern PyObject *Solvable_set_groups(SolvableObject *self, PyObject *args);
62
63 extern PyObject *Solvable_get_url(SolvableObject *self);
64 extern PyObject *Solvable_set_url(SolvableObject *self, PyObject *args);
65
66 extern PyObject *Solvable_get_filename(SolvableObject *self);
67 extern PyObject *Solvable_set_filename(SolvableObject *self, PyObject *args);
68
69 extern PyObject *Solvable_get_license(SolvableObject *self);
70 extern PyObject *Solvable_set_license(SolvableObject *self, PyObject *args);
71
72 extern PyObject *Solvable_get_buildhost(SolvableObject *self);
73 extern PyObject *Solvable_set_buildhost(SolvableObject *self, PyObject *args);
74
75 extern PyObject *Solvable_get_maintainer(SolvableObject *self);
76 extern PyObject *Solvable_set_maintainer(SolvableObject *self, PyObject *args);
77
78 extern PyObject *Solvable_get_downloadsize(SolvableObject *self);
79 extern PyObject *Solvable_set_downloadsize(SolvableObject *self, PyObject *args);
80
81 extern PyObject *Solvable_get_installsize(SolvableObject *self);
82 extern PyObject *Solvable_set_installsize(SolvableObject *self, PyObject *args);
83
84 extern PyObject *Solvable_get_buildtime(SolvableObject *self);
85 extern PyObject *Solvable_set_buildtime(SolvableObject *self, PyObject *args);
86
87 // internal use only
88 extern PyObject *_Solvable_get_dependencies(Solvable *solv, Offset deps);
89
90 extern PyObject *Solvable_add_provides(SolvableObject *self, PyObject *args);
91 extern PyObject *Solvable_get_provides(SolvableObject *self);
92
93 extern PyObject *Solvable_add_requires(SolvableObject *self, PyObject *args);
94 extern PyObject *Solvable_get_requires(SolvableObject *self);
95
96 extern PyObject *Solvable_add_obsoletes(SolvableObject *self, PyObject *args);
97 extern PyObject *Solvable_get_obsoletes(SolvableObject *self);
98
99 extern PyObject *Solvable_add_conflicts(SolvableObject *self, PyObject *args);
100 extern PyObject *Solvable_get_conflicts(SolvableObject *self);
101
102 extern PyObject *Solvable_add_recommends(SolvableObject *self, PyObject *args);
103 extern PyObject *Solvable_get_recommends(SolvableObject *self);
104
105 extern PyObject *Solvable_add_suggests(SolvableObject *self, PyObject *args);
106 extern PyObject *Solvable_get_suggests(SolvableObject *self);
107
108 extern PyTypeObject SolvableType;
109
110 #endif