4 * Copyright (c) 2007 VOROSKOI Andras <voroskoi@frugalware.org>
6 * Copyright: See COPYING file that comes with this distribution.
12 #include "kfpm_pacman.h"
14 QValueVector
<PM_DB
*> pm_dblist
;
16 FPM::FPM(char *root
, char *configfile
) {
17 pacman_init(root
, configfile
);
24 void FPM::setSync(QValueVector
<PM_DB
*> syncs
)
29 QValueVector
<PM_DB
*> FPM::getSync(void) {
33 QStringList
FPM::sync_group(QValueVector
<PM_DB
*> syncs
, QStringList targets
)
35 if (targets
.isEmpty()) {
40 QValueVector
<PM_DB
*>::iterator db
;
41 for(db
= syncs
.begin(); db
!= syncs
.end(); ++db
) {
43 for(lp
= pacman_db_getgrpcache(*db
); lp
; lp
= pacman_list_next(lp
)) {
44 grpnames
.append((char*)pacman_list_getdata(lp
));
51 void cb_db_register(char *section
, PM_DB
*db
)
53 pm_dblist
.push_back(db
);
56 void FPM::pacman_init(char *root
, char *configfile
) {
57 pacman_initialize(root
);
58 /* FIXME - exception handling */
59 if(pacman_parse_config(configfile
, cb_db_register
, "") != 0) {
60 std::cerr
<< "failed to parse config (" << pacman_strerror(pm_errno
) << ")" << std::endl
;