Date: Mon, 1 Jul 2013 08:49:15 GMT From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r253780 - in soc2013/mattbw/backend: . actions Message-ID: <201307010849.r618nF1i010182@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mattbw Date: Mon Jul 1 08:49:15 2013 New Revision: 253780 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=253780 Log: (broken) consolidate action headers; add install-packages to makefile Added: soc2013/mattbw/backend/actions/actions.h Deleted: soc2013/mattbw/backend/actions/get-details.h soc2013/mattbw/backend/actions/get-files.h soc2013/mattbw/backend/actions/get-repo-list.h Modified: soc2013/mattbw/backend/Makefile soc2013/mattbw/backend/actions/get-details.c soc2013/mattbw/backend/actions/get-files.c soc2013/mattbw/backend/actions/get-repo-list.c soc2013/mattbw/backend/actions/install-packages.c soc2013/mattbw/backend/pk-backend-pkgng.c Modified: soc2013/mattbw/backend/Makefile ============================================================================== --- soc2013/mattbw/backend/Makefile Mon Jul 1 08:30:29 2013 (r253779) +++ soc2013/mattbw/backend/Makefile Mon Jul 1 08:49:15 2013 (r253780) @@ -3,7 +3,10 @@ LIB= pk_backend_pkgng SHLIB_MAJOR= 1 SRCS= pk-backend-pkgng.c groups.c db.c licenses.c iterate.c utils.c -SRCS+= actions/get-details.c actions/get-files.c actions/get-repo-list.c +SRCS+= actions/get-details.c \ + actions/get-files.c \ + actions/get-repo-list.c \ + actions/install-packages.c LIBDIR= /usr/local/lib/packagekit-backend Added: soc2013/mattbw/backend/actions/actions.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2013/mattbw/backend/actions/actions.h Mon Jul 1 08:49:15 2013 (r253780) @@ -0,0 +1,33 @@ +/*- + * Copyright (C) 2013 Matt Windsor <mattbw@FreeBSD.org> + * + * Licensed under the GNU General Public License Version 2 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _PKGNG_BACKEND_ACTIONS_H_ +#define _PKGNG_BACKEND_ACTIONS_H_ + +#include <glib.h> /* gboolean */ +#include "../pk-backend.h" /* PkBackend */ + +/* Each thread is implemented in its namesake C file. */ +gboolean get_details_thread(PkBackend *backend); +gboolean get_files_thread(PkBackend *backend); +gboolean get_repo_list_thread(PkBackend *backend); +gboolean install_packages_thread(PkBackend *backend); + +#endif /* !_PKGNG_BACKEND_ACTIONS_H_ */ Modified: soc2013/mattbw/backend/actions/get-details.c ============================================================================== --- soc2013/mattbw/backend/actions/get-details.c Mon Jul 1 08:30:29 2013 (r253779) +++ soc2013/mattbw/backend/actions/get-details.c Mon Jul 1 08:49:15 2013 (r253780) @@ -27,7 +27,7 @@ #include "../iterate.h" /* Package iteration */ #include "../licenses.h" /* license_from_pkg */ -#include "get-details.h" /* get_details_thread prototype */ +#include "actions.h" /* get_details_thread prototype */ static const int LOAD_FLAGS = PKG_LOAD_BASIC | PKG_LOAD_LICENSES; Modified: soc2013/mattbw/backend/actions/get-files.c ============================================================================== --- soc2013/mattbw/backend/actions/get-files.c Mon Jul 1 08:30:29 2013 (r253779) +++ soc2013/mattbw/backend/actions/get-files.c Mon Jul 1 08:49:15 2013 (r253780) @@ -28,7 +28,7 @@ #include "../iterate.h" /* Package iteration */ #include "../licenses.h" /* license_from_pkg */ -#include "get-files.h" /* get_files_thread prototype */ +#include "actions.h" /* get_files_thread prototype */ static const int FILE_NAME_STEP = 10; static const int LOAD_FLAGS = PKG_LOAD_BASIC | PKG_LOAD_FILES; Modified: soc2013/mattbw/backend/actions/get-repo-list.c ============================================================================== --- soc2013/mattbw/backend/actions/get-repo-list.c Mon Jul 1 08:30:29 2013 (r253779) +++ soc2013/mattbw/backend/actions/get-repo-list.c Mon Jul 1 08:49:15 2013 (r253780) @@ -23,7 +23,7 @@ #include "pkg.h" #include "../hash_traverse.h" /* HASH_FOR */ -#include "get-repo-list.h" /* Prototypes */ +#include "actions.h" /* get_repo_list_thread prototype */ /* * The thread that performs a GetRepoList operation. Should be invoked by the Modified: soc2013/mattbw/backend/actions/install-packages.c ============================================================================== --- soc2013/mattbw/backend/actions/install-packages.c Mon Jul 1 08:30:29 2013 (r253779) +++ soc2013/mattbw/backend/actions/install-packages.c Mon Jul 1 08:49:15 2013 (r253780) @@ -23,13 +23,10 @@ #include "pkg.h" #include "../db.h" /* db_query_from_id */ -#include "../groups.h" /* group_from_origin */ #include "../iterate.h" /* Package iteration */ -#include "../licenses.h" /* license_from_pkg */ -#include "get-details.h" /* get_details_thread prototype */ +#include "actions.h" /* install_packages_thread prototype */ -static void emit_pkg(struct pkg *pkg, const gchar *id, PkBackend *backend); static gboolean get_for(const gchar *id, PkBackend *backend, struct pkgdb *db); /* @@ -49,33 +46,19 @@ get_for(const gchar *id, PkBackend *backend, struct pkgdb *db) { struct pkg_jobs *jobs; - db_query_to_job(id, backend, db, LOAD_FLAGS, emit_pkg); -} + int err; -/* - * Emits the given package's details. To be used as an iterating function. - */ -static void -emit_pkg(struct pkg *pkg, const gchar *id, PkBackend *backend) -{ - - const char *description; - const char *origin; - const char *www; - int64_t flatsize; - - /* Information not already part of the PackageID */ - pkg_get(pkg, - PKG_DESC, &description, - PKG_FLATSIZE, &flatsize, - PKG_ORIGIN, &origin, - PKG_WWW, &www); - - pk_backend_details(backend, - id, - license_name_from_pkg(pkg), - group_from_origin(origin), - description, - www, - flatsize); + jobs = NULL; + err = pkg_jobs_new(&jobs, PKG_JOBS_INSTALL, db); + + if (err != E_OK) + pk_backend_error_code(backend, + PK_ERROR_ENUM_INTERNAL_ERROR, + "pkg_jobs_new failed"); + else + err = db_query_to_job(id, backend, db, LOAD_FLAGS, jobs); + + /* TODO: actually install */ + pk_backend_error_code(backend, PK_ERROR_ENUM_NOT_SUPPORTED, NULL); + return err; } Modified: soc2013/mattbw/backend/pk-backend-pkgng.c ============================================================================== --- soc2013/mattbw/backend/pk-backend-pkgng.c Mon Jul 1 08:30:29 2013 (r253779) +++ soc2013/mattbw/backend/pk-backend-pkgng.c Mon Jul 1 08:49:15 2013 (r253780) @@ -30,9 +30,7 @@ #include "pkg.h" #include "groups.h" /* available_groups */ -#include "actions/get-files.h" /* get_files_thread */ -#include "actions/get-details.h"/* get_details_thread */ -#include "actions/get-repo-list.h" /* get_repo_list_thread */ +#include "actions/actions.h" /* Actions threads */ #define INTENTIONALLY_IGNORE(x) (void)(x) @@ -407,7 +405,7 @@ pk_backend_set_status(backend, PK_STATUS_ENUM_QUERY); pk_backend_set_percentage(backend, PK_BACKEND_PERCENTAGE_INVALID); - pk_backend_thread_create(backend, get_repo_list_thread); + pk_backend_thread_create(backend, install_packages_thread); pk_backend_finished(backend); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307010849.r618nF1i010182>
