From owner-svn-soc-all@FreeBSD.ORG Thu Aug 15 21:16:04 2013 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 19528FD0 for ; Thu, 15 Aug 2013 21:16:04 +0000 (UTC) (envelope-from mattbw@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EBA442A3A for ; Thu, 15 Aug 2013 21:16:03 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.7/8.14.7) with ESMTP id r7FLG3O1004750 for ; Thu, 15 Aug 2013 21:16:03 GMT (envelope-from mattbw@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.7/8.14.6/Submit) id r7FLG3Ri004736 for svn-soc-all@FreeBSD.org; Thu, 15 Aug 2013 21:16:03 GMT (envelope-from mattbw@FreeBSD.org) Date: Thu, 15 Aug 2013 21:16:03 GMT Message-Id: <201308152116.r7FLG3Ri004736@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to mattbw@FreeBSD.org using -f From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r255996 - in soc2013/mattbw/backend: . actions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Aug 2013 21:16:04 -0000 Author: mattbw Date: Thu Aug 15 21:16:03 2013 New Revision: 255996 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=255996 Log: Add stub GetDepends and GetImplements to the backend. These are now wired up to the query code, but need the actual package emitters making. These should both use very similar code, so I'll probably factor it out as part of the query directory. Modified: soc2013/mattbw/backend/actions/get_depends.c soc2013/mattbw/backend/actions/get_files.c soc2013/mattbw/backend/actions/get_requires.c soc2013/mattbw/backend/pk-backend-pkgng.c Modified: soc2013/mattbw/backend/actions/get_depends.c ============================================================================== --- soc2013/mattbw/backend/actions/get_depends.c Thu Aug 15 20:33:17 2013 (r255995) +++ soc2013/mattbw/backend/actions/get_depends.c Thu Aug 15 21:16:03 2013 (r255996) @@ -19,9 +19,16 @@ */ #include /* assert */ #include /* gboolean */ +#include /* bool */ +#include "pkg.h" /* PKG_..., struct pkg, etc. */ #include "../pk-backend.h" /* PkBackend */ #include "../actions.h" /* Prototype */ +#include "../query.h" /* query_... */ + +static const unsigned int LOAD_FLAGS = PKG_LOAD_BASIC | PKG_LOAD_DEPS; + +static bool emit(struct pkg *pkg, const gchar *id, struct query *q); /* * The thread that performs a GetDepends operation. Should be invoked by the @@ -30,7 +37,27 @@ gboolean get_depends_thread(PkBackend *backend) { + bool success; assert(backend != NULL); - return FALSE; + + (void)pk_backend_set_status(backend, PK_STATUS_ENUM_QUERY); + success = query_match_id_to_emitter(backend, LOAD_FLAGS, emit); + + (void)pk_backend_finished(backend); + return success ? TRUE : FALSE; +} + +static bool +emit(struct pkg *pkg, const gchar *id, struct query *q) +{ + + bool success; + + assert(pkg != NULL); + assert(id != NULL); + assert(q != NULL); + + success = false; + return success; } Modified: soc2013/mattbw/backend/actions/get_files.c ============================================================================== --- soc2013/mattbw/backend/actions/get_files.c Thu Aug 15 20:33:17 2013 (r255995) +++ soc2013/mattbw/backend/actions/get_files.c Thu Aug 15 21:16:03 2013 (r255996) @@ -39,7 +39,7 @@ gboolean get_files_thread(PkBackend *backend) { - gboolean success; + bool success; assert(backend != NULL); Modified: soc2013/mattbw/backend/actions/get_requires.c ============================================================================== --- soc2013/mattbw/backend/actions/get_requires.c Thu Aug 15 20:33:17 2013 (r255995) +++ soc2013/mattbw/backend/actions/get_requires.c Thu Aug 15 21:16:03 2013 (r255996) @@ -20,9 +20,16 @@ #include /* assert */ #include /* gboolean */ +#include /* bool */ +#include "pkg.h" /* PKG_..., struct pkg, etc. */ #include "../pk-backend.h" /* PkBackend */ #include "../actions.h" /* Prototype */ +#include "../query.h" /* query_... */ + +static const unsigned int LOAD_FLAGS = PKG_LOAD_BASIC | PKG_LOAD_RDEPS; + +static bool emit(struct pkg *pkg, const gchar *id, struct query *q); /* * The thread that performs a GetRequires operation. Should be invoked by the @@ -31,7 +38,27 @@ gboolean get_requires_thread(PkBackend *backend) { + bool success; assert(backend != NULL); - return FALSE; + + (void)pk_backend_set_status(backend, PK_STATUS_ENUM_QUERY); + success = query_match_id_to_emitter(backend, LOAD_FLAGS, emit); + + (void)pk_backend_finished(backend); + return success ? TRUE : FALSE; +} + +static bool +emit(struct pkg *pkg, const gchar *id, struct query *q) +{ + + bool success; + + assert(pkg != NULL); + assert(id != NULL); + assert(q != NULL); + + success = false; + return success; } Modified: soc2013/mattbw/backend/pk-backend-pkgng.c ============================================================================== --- soc2013/mattbw/backend/pk-backend-pkgng.c Thu Aug 15 20:33:17 2013 (r255995) +++ soc2013/mattbw/backend/pk-backend-pkgng.c Thu Aug 15 21:16:03 2013 (r255996) @@ -87,6 +87,18 @@ */ void +pk_backend_get_depends(PkBackend *backend, PkBitfield filters, + gchar **package_ids, gboolean recursive) +{ + + INTENTIONALLY_IGNORE(filters); /* retrieved from backend */ + INTENTIONALLY_IGNORE(package_ids); /* retrieved from backend */ + INTENTIONALLY_IGNORE(recursive); /* retrieved from backend */ + assert(backend != NULL); + THREAD(backend, get_depends_thread); +} + +void pk_backend_get_details(PkBackend *backend, gchar **package_ids) { @@ -104,6 +116,18 @@ THREAD(backend, get_files_thread); } +void +pk_backend_get_requires(PkBackend *backend, PkBitfield filters, + gchar **package_ids, gboolean recursive) +{ + + INTENTIONALLY_IGNORE(filters); /* retrieved from backend */ + INTENTIONALLY_IGNORE(package_ids); /* retrieved from backend */ + INTENTIONALLY_IGNORE(recursive); /* retrieved from backend */ + assert(backend != NULL); + THREAD(backend, get_requires_thread); +} + PkBitfield pk_backend_get_filters(PkBackend *backend) {