From 08ef171b0c5b9238df9fe0b86200a8d8425dcea5 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 6 Oct 2015 12:38:11 +0200 Subject: Get rid of package class --- brep/package.cxx | 90 ++++++++++++++++++++------------------------------------ 1 file changed, 32 insertions(+), 58 deletions(-) (limited to 'brep/package.cxx') diff --git a/brep/package.cxx b/brep/package.cxx index 46953f4..3cf4063 100644 --- a/brep/package.cxx +++ b/brep/package.cxx @@ -16,70 +16,54 @@ using namespace odb::core; namespace brep { - // Utility functions - // - static inline bool - alpha (char c) - { - return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); - } - - static inline bool - digit (char c) - { - return c >= '0' && c <= '9'; - } - - // package - // - package:: - package (string n, - string s, - strings t, - optional d, - url_type u, - optional pu, - email_type e, - optional pe) - : name (move (n)), - summary (move (s)), - tags (move (t)), - description (move (d)), - url (move (u)), - package_url (move (pu)), - email (move (e)), - package_email (move (pe)) - { - } - // package_version // package_version:: - package_version (lazy_shared_ptr pk, + package_version (string nm, version_type vr, priority_type pr, + string sm, license_alternatives_type la, + strings tg, + optional ds, string ch, + url_type ur, + optional pu, + email_type em, + optional pe, dependencies_type dp, requirements_type rq, optional lc, shared_ptr rp) - : package (move (pk)), + : name (move (nm)), version (move (vr)), priority (move (pr)), + summary (move (sm)), license_alternatives (move (la)), + tags (move (tg)), + description (move (ds)), changes (move (ch)), + url (move (ur)), + package_url (move (pu)), + email (move (em)), + package_email (move (pe)), dependencies (move (dp)), requirements (move (rq)), + internal_repository (move (rp)), location (move (lc)) { - //@@ Can't be sure we are in transaction. Instead, make caller - // pass shared_ptr. - // - if (rp->internal) - internal_repository = move (rp); - else - external_repositories.emplace_back (move (rp)); + assert (internal_repository->internal); + } + + package_version:: + package_version (string nm, + version_type vr, + shared_ptr rp) + : name (move (nm)), + version (move (vr)) + { + assert (!rp->internal); + external_repositories.emplace_back (move (rp)); } package_version::_id_type package_version:: @@ -87,7 +71,7 @@ namespace brep { return _id_type { { - package.object_id (), + name, version.epoch, version.canonical_upstream, version.revision @@ -96,20 +80,10 @@ namespace brep } void package_version:: - _id (_id_type&& v, database& db) - { - const auto& dv (v.data.version); - package = lazy_shared_ptr (db, v.data.package); - version = version_type (dv.epoch, move (v.upstream), dv.revision); - assert (version.canonical_upstream == dv.canonical_upstream); - } - - // max_package_version - // - void max_package_version:: - _id (package_version::_id_type&& v) + _id (_id_type&& v, database&) { const auto& dv (v.data.version); + name = move (v.data.package); version = version_type (dv.epoch, move (v.upstream), dv.revision); assert (version.canonical_upstream == dv.canonical_upstream); } -- cgit v1.1