From 3e37999a5f9efd4caf44c40985b3e1254660a625 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 12 Oct 2015 14:07:16 +0200 Subject: Repository and package id mapping refactoring --- brep/package.cxx | 42 ++++++++---------------------------------- 1 file changed, 8 insertions(+), 34 deletions(-) (limited to 'brep/package.cxx') diff --git a/brep/package.cxx b/brep/package.cxx index be14034..fd40bc6 100644 --- a/brep/package.cxx +++ b/brep/package.cxx @@ -35,7 +35,7 @@ namespace brep requirements_type rq, optional lc, shared_ptr rp) - : name (move (nm)), + : id (move (nm), vr), version (move (vr)), priority (move (pr)), summary (move (sm)), @@ -59,35 +59,13 @@ namespace brep package (string nm, version_type vr, shared_ptr rp) - : name (move (nm)), + : id (move (nm), vr), version (move (vr)) { assert (!rp->internal); external_repositories.emplace_back (move (rp)); } - package::_id_type package:: - _id () const - { - return _id_type { - { - name, - version.epoch, - version.canonical_upstream, - version.revision - }, - version.upstream}; - } - - void package:: - _id (_id_type&& v, database&) - { - const auto& dv (v.data.version); - name = move (v.data.name); - version = version_type (dv.epoch, move (v.upstream), dv.revision); - assert (version.canonical_upstream == dv.canonical_upstream); - } - // repository // repository:: @@ -97,18 +75,14 @@ namespace brep local_path (move (p)), internal (true) { + name = location.canonical_name (); } - repository::_id_type repository:: - _id () const - { - return _id_type {location.canonical_name (), location.string ()}; - } - - void repository:: - _id (_id_type&& l) + repository:: + repository (repository_location l) + : location (move (l)), + internal (false) { - location = repository_location (move (l.location)); - assert (location.canonical_name () == l.canonical_name); + name = location.canonical_name (); } } -- cgit v1.1