]> git.ipfire.org Git - pakfire.git/blame - python/src/solver.h
Rewrite the buildsystem of this package.
[pakfire.git] / python / src / solver.h
CommitLineData
b792d887
MT
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#############################################################################*/
c605d735
MT
20
21#ifndef PAKFIRE_SOLVER_H
22#define PAKFIRE_SOLVER_H
23
24#include <Python.h>
25
45f5a3d9 26#include <solv/solver.h>
c605d735
MT
27
28// Sat Solver object
29typedef struct {
30 PyObject_HEAD
31 Solver *_solver;
32} SolverObject;
33
34extern PyObject* Solver_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
35extern PyObject *Solver_dealloc(SolverObject *self);
36
35d89fd7
MT
37extern PyObject *Solver_get_fix_system(SolverObject *self, PyObject *args);
38extern PyObject *Solver_set_fix_system(SolverObject *self, PyObject *args);
c605d735
MT
39extern PyObject *Solver_get_allow_downgrade(SolverObject *self, PyObject *args);
40extern PyObject *Solver_set_allow_downgrade(SolverObject *self, PyObject *args);
41extern PyObject *Solver_get_allow_archchange(SolverObject *self, PyObject *args);
42extern PyObject *Solver_set_allow_archchange(SolverObject *self, PyObject *args);
43extern PyObject *Solver_get_allow_vendorchange(SolverObject *self, PyObject *args);
44extern PyObject *Solver_set_allow_vendorchange(SolverObject *self, PyObject *args);
45extern PyObject *Solver_get_allow_uninstall(SolverObject *self, PyObject *args);
46extern PyObject *Solver_set_allow_uninstall(SolverObject *self, PyObject *args);
47extern PyObject *Solver_get_updatesystem(SolverObject *self, PyObject *args);
48extern PyObject *Solver_set_updatesystem(SolverObject *self, PyObject *args);
6c395339
MT
49extern PyObject *Solver_get_do_split_provides(SolverObject *self, PyObject *args);
50extern PyObject *Solver_set_do_split_provides(SolverObject *self, PyObject *args);
c605d735
MT
51
52extern PyObject *Solver_solve(SolverObject *self, PyObject *args);
53extern PyObject *Solver_get_problems(SolverObject *self, PyObject *args);
54
55extern PyTypeObject SolverType;
56
57#endif