aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-21 19:04:41 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-21 19:04:41 +0100
commit738d0259a9cff20ea2f85fae1ed66a246a150f38 (patch)
tree1028007f0c117b133f09197d643bb9a816c2ab80
parentb5b70753c4185b07ec85bfbd0587078ca29552a0 (diff)
downloadpaludis-738d0259a9cff20ea2f85fae1ed66a246a150f38.tar.gz
paludis-738d0259a9cff20ea2f85fae1ed66a246a150f38.tar.xz
Make use of Repository::some_ids_might_not_be_masked
-rw-r--r--paludis/filter.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/paludis/filter.cc b/paludis/filter.cc
index 4429d11..49515d2 100644
--- a/paludis/filter.cc
+++ b/paludis/filter.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -169,6 +169,22 @@ namespace
struct NotMaskedFilterHandler :
AllFilterHandlerBase
{
+ virtual std::tr1::shared_ptr<const RepositoryNameSet> repositories(
+ const Environment * const env,
+ const std::tr1::shared_ptr<const RepositoryNameSet> & repos) const
+ {
+ std::tr1::shared_ptr<RepositoryNameSet> result(new RepositoryNameSet);
+
+ for (RepositoryNameSet::ConstIterator r(repos->begin()), r_end(repos->end()) ;
+ r != r_end ; ++r)
+ {
+ if (env->package_database()->fetch_repository(*r)->some_ids_might_not_be_masked())
+ result->insert(*r);
+ }
+
+ return result;
+ }
+
virtual std::tr1::shared_ptr<const PackageIDSet> ids(
const Environment * const,
const std::tr1::shared_ptr<const PackageIDSet> & id) const