aboutsummaryrefslogtreecommitdiff
path: root/brep/package.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-10-12 14:07:16 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-10-12 14:07:16 +0200
commit3e37999a5f9efd4caf44c40985b3e1254660a625 (patch)
treeb849a88acc2497b89940973e24fca1ab47ef2a38 /brep/package.cxx
parentbc965df24ffae81e9a05f63b31d46fa01a8d52d9 (diff)
Repository and package id mapping refactoring
Diffstat (limited to 'brep/package.cxx')
-rw-r--r--brep/package.cxx42
1 files changed, 8 insertions, 34 deletions
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<path> lc,
shared_ptr<repository_type> 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<repository_type> 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 ();
}
}