socsvn commit: r254393 - soc2013/mattbw/backend
mattbw at FreeBSD.org
mattbw at FreeBSD.org
Mon Jul 8 01:22:57 UTC 2013
Author: mattbw
Date: Mon Jul 8 01:22:56 2013
New Revision: 254393
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=254393
Log:
eventual filters support
Modified:
soc2013/mattbw/backend/pk-backend-pkgng.c
soc2013/mattbw/backend/query.c
Modified: soc2013/mattbw/backend/pk-backend-pkgng.c
==============================================================================
--- soc2013/mattbw/backend/pk-backend-pkgng.c Mon Jul 8 01:06:44 2013 (r254392)
+++ soc2013/mattbw/backend/pk-backend-pkgng.c Mon Jul 8 01:22:56 2013 (r254393)
@@ -115,6 +115,7 @@
/* TODO: support more filters */
return pk_bitfield_from_enums(PK_FILTER_ENUM_INSTALLED,
+ PK_FILTER_ENUM_NOT_INSTALLED,
-1);
}
Modified: soc2013/mattbw/backend/query.c
==============================================================================
--- soc2013/mattbw/backend/query.c Mon Jul 8 01:06:44 2013 (r254392)
+++ soc2013/mattbw/backend/query.c Mon Jul 8 01:22:56 2013 (r254393)
@@ -77,6 +77,7 @@
gboolean try_local;
gboolean try_remote;
int match;
+ PkBitfield filters;
const char *name;
gchar *match_id;
struct pkg *match_pkg;
@@ -102,6 +103,13 @@
try_remote = (q->local_repo == FALSE);
}
+ /* Apply filters, if any */
+ filters = pk_backend_get_uint(q->backend, "filters");
+ if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED))
+ try_remote = FALSE;
+ if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED))
+ try_local = FALSE;
+
/* Try a local search first, if applicable. */
it = (try_local ? pkgdb_query(db, name, match) : NULL);
if (it != NULL)
More information about the svn-soc-all
mailing list