diff options
author | 2010-07-21 19:04:41 +0100 | |
---|---|---|
committer | 2010-07-21 19:04:41 +0100 | |
commit | 738d0259a9cff20ea2f85fae1ed66a246a150f38 (patch) | |
tree | 1028007f0c117b133f09197d643bb9a816c2ab80 | |
parent | b5b70753c4185b07ec85bfbd0587078ca29552a0 (diff) | |
download | paludis-738d0259a9cff20ea2f85fae1ed66a246a150f38.tar.gz paludis-738d0259a9cff20ea2f85fae1ed66a246a150f38.tar.xz |
Make use of Repository::some_ids_might_not_be_masked
-rw-r--r-- | paludis/filter.cc | 18 |
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 |