aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-21 19:04:21 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-21 19:04:21 +0100
commitb5b70753c4185b07ec85bfbd0587078ca29552a0 (patch)
tree584424f0c8581b7931ab6a4bae2eeea3c5dfbcb8
parent6ad3da4d54ab976085c8f1d38629f7cfb3b5b3f3 (diff)
downloadpaludis-b5b70753c4185b07ec85bfbd0587078ca29552a0.tar.gz
paludis-b5b70753c4185b07ec85bfbd0587078ca29552a0.tar.xz
Repository::some_ids_might_not_be_masked
-rw-r--r--paludis/repositories/accounts/accounts_repository.cc6
-rw-r--r--paludis/repositories/accounts/accounts_repository.hh1
-rw-r--r--paludis/repositories/cran/cran_installed_repository.cc6
-rw-r--r--paludis/repositories/cran/cran_installed_repository.hh2
-rw-r--r--paludis/repositories/cran/cran_repository.cc6
-rw-r--r--paludis/repositories/cran/cran_repository.hh2
-rw-r--r--paludis/repositories/e/e_installed_repository.cc6
-rw-r--r--paludis/repositories/e/e_installed_repository.hh2
-rw-r--r--paludis/repositories/e/e_repository.cc6
-rw-r--r--paludis/repositories/e/e_repository.hh4
-rw-r--r--paludis/repositories/fake/fake_installed_repository.cc6
-rw-r--r--paludis/repositories/fake/fake_installed_repository.hh2
-rw-r--r--paludis/repositories/fake/fake_repository.cc6
-rw-r--r--paludis/repositories/fake/fake_repository.hh2
-rw-r--r--paludis/repositories/gems/gems_repository.cc6
-rw-r--r--paludis/repositories/gems/gems_repository.hh4
-rw-r--r--paludis/repositories/gems/installed_gems_repository.cc6
-rw-r--r--paludis/repositories/gems/installed_gems_repository.hh4
-rw-r--r--paludis/repositories/repository/repository_repository.cc6
-rw-r--r--paludis/repositories/repository/repository_repository.hh1
-rw-r--r--paludis/repositories/unavailable/unavailable_repository.cc6
-rw-r--r--paludis/repositories/unavailable/unavailable_repository.hh1
-rw-r--r--paludis/repositories/unpackaged/installed_repository.cc6
-rw-r--r--paludis/repositories/unpackaged/installed_repository.hh2
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.cc6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.hh1
-rw-r--r--paludis/repositories/unwritten/unwritten_repository.cc6
-rw-r--r--paludis/repositories/unwritten/unwritten_repository.hh1
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.cc6
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.hh4
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.cc6
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.hh4
-rw-r--r--paludis/repository.hh15
33 files changed, 140 insertions, 8 deletions
diff --git a/paludis/repositories/accounts/accounts_repository.cc b/paludis/repositories/accounts/accounts_repository.cc
index bb4bad794..d20f044fa 100644
--- a/paludis/repositories/accounts/accounts_repository.cc
+++ b/paludis/repositories/accounts/accounts_repository.cc
@@ -395,6 +395,12 @@ AccountsRepository::some_ids_might_support_action(const SupportsActionTestBase &
}
bool
+AccountsRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
+bool
AccountsRepository::is_suitable_destination_for(const PackageID & id) const
{
std::string f(id.repository()->format_key() ? id.repository()->format_key()->value() : "");
diff --git a/paludis/repositories/accounts/accounts_repository.hh b/paludis/repositories/accounts/accounts_repository.hh
index 9ddedcba9..f6c13086d 100644
--- a/paludis/repositories/accounts/accounts_repository.hh
+++ b/paludis/repositories/accounts/accounts_repository.hh
@@ -131,6 +131,7 @@ namespace paludis
const CategoryNamePart & c) const;
virtual std::tr1::shared_ptr<const PackageIDSequence> package_ids(const QualifiedPackageName & p) const;
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
///\}
diff --git a/paludis/repositories/cran/cran_installed_repository.cc b/paludis/repositories/cran/cran_installed_repository.cc
index 0c641d05f..98ae4a587 100644
--- a/paludis/repositories/cran/cran_installed_repository.cc
+++ b/paludis/repositories/cran/cran_installed_repository.cc
@@ -539,6 +539,12 @@ CRANInstalledRepository::some_ids_might_support_action(const SupportsActionTestB
return a.accept_returning<bool>(q);
}
+bool
+CRANInstalledRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
void
CRANInstalledRepository::need_ids() const
{
diff --git a/paludis/repositories/cran/cran_installed_repository.hh b/paludis/repositories/cran/cran_installed_repository.hh
index 1b47088f1..9b83da009 100644
--- a/paludis/repositories/cran/cran_installed_repository.hh
+++ b/paludis/repositories/cran/cran_installed_repository.hh
@@ -144,6 +144,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual bool sync(const std::tr1::shared_ptr<OutputManager> &) const;
/* Keys */
diff --git a/paludis/repositories/cran/cran_repository.cc b/paludis/repositories/cran/cran_repository.cc
index caaa08f10..238cd861f 100644
--- a/paludis/repositories/cran/cran_repository.cc
+++ b/paludis/repositories/cran/cran_repository.cc
@@ -523,6 +523,12 @@ CRANRepository::some_ids_might_support_action(const SupportsActionTestBase & a)
return a.accept_returning<bool>(q);
}
+bool
+CRANRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
void
CRANRepository::need_keys_added() const
{
diff --git a/paludis/repositories/cran/cran_repository.hh b/paludis/repositories/cran/cran_repository.hh
index 2c722f124..91c50242f 100644
--- a/paludis/repositories/cran/cran_repository.hh
+++ b/paludis/repositories/cran/cran_repository.hh
@@ -151,6 +151,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
diff --git a/paludis/repositories/e/e_installed_repository.cc b/paludis/repositories/e/e_installed_repository.cc
index f3f8b8b46..f0701a436 100644
--- a/paludis/repositories/e/e_installed_repository.cc
+++ b/paludis/repositories/e/e_installed_repository.cc
@@ -132,6 +132,12 @@ EInstalledRepository::some_ids_might_support_action(const SupportsActionTestBase
}
bool
+EInstalledRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
+bool
EInstalledRepository::is_suitable_destination_for(const PackageID & e) const
{
std::string f(e.repository()->format_key() ? e.repository()->format_key()->value() : "");
diff --git a/paludis/repositories/e/e_installed_repository.hh b/paludis/repositories/e/e_installed_repository.hh
index e55a1fa88..a3d957a47 100644
--- a/paludis/repositories/e/e_installed_repository.hh
+++ b/paludis/repositories/e/e_installed_repository.hh
@@ -81,6 +81,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
HookResult perform_hook(const Hook & hook)
PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/e/e_repository.cc b/paludis/repositories/e/e_repository.cc
index 94bc2bc20..eefbec92e 100644
--- a/paludis/repositories/e/e_repository.cc
+++ b/paludis/repositories/e/e_repository.cc
@@ -1061,6 +1061,12 @@ ERepository::some_ids_might_support_action(const SupportsActionTestBase & a) con
return a.accept_returning<bool>(q);
}
+bool
+ERepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
void
ERepository::make_manifest(const QualifiedPackageName & qpn)
{
diff --git a/paludis/repositories/e/e_repository.hh b/paludis/repositories/e/e_repository.hh
index 4310e51b7..949be118c 100644
--- a/paludis/repositories/e/e_repository.hh
+++ b/paludis/repositories/e/e_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 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
@@ -142,6 +142,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
const erepository::ERepositoryParams & params() const;
std::string profile_variable(const std::string &) const;
diff --git a/paludis/repositories/fake/fake_installed_repository.cc b/paludis/repositories/fake/fake_installed_repository.cc
index 0a438b0dc..3c2b18022 100644
--- a/paludis/repositories/fake/fake_installed_repository.cc
+++ b/paludis/repositories/fake/fake_installed_repository.cc
@@ -192,6 +192,12 @@ FakeInstalledRepository::some_ids_might_support_action(const SupportsActionTestB
return a.accept_returning<bool>(q);
}
+bool
+FakeInstalledRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
const bool
FakeInstalledRepository::is_unimportant() const
{
diff --git a/paludis/repositories/fake/fake_installed_repository.hh b/paludis/repositories/fake/fake_installed_repository.hh
index 10ac023f1..afaa3dc2d 100644
--- a/paludis/repositories/fake/fake_installed_repository.hh
+++ b/paludis/repositories/fake/fake_installed_repository.hh
@@ -88,6 +88,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual const bool is_unimportant() const;
/* Keys */
diff --git a/paludis/repositories/fake/fake_repository.cc b/paludis/repositories/fake/fake_repository.cc
index 19b188423..79cf0d3f7 100644
--- a/paludis/repositories/fake/fake_repository.cc
+++ b/paludis/repositories/fake/fake_repository.cc
@@ -140,6 +140,12 @@ FakeRepository::some_ids_might_support_action(const SupportsActionTestBase & a)
return a.accept_returning<bool>(q);
}
+bool
+FakeRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
const bool
FakeRepository::is_unimportant() const
{
diff --git a/paludis/repositories/fake/fake_repository.hh b/paludis/repositories/fake/fake_repository.hh
index 884e183eb..245c99fcc 100644
--- a/paludis/repositories/fake/fake_repository.hh
+++ b/paludis/repositories/fake/fake_repository.hh
@@ -81,6 +81,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual const bool is_unimportant() const;
/* Keys */
diff --git a/paludis/repositories/gems/gems_repository.cc b/paludis/repositories/gems/gems_repository.cc
index 0e629acef..fb3186620 100644
--- a/paludis/repositories/gems/gems_repository.cc
+++ b/paludis/repositories/gems/gems_repository.cc
@@ -325,6 +325,12 @@ GemsRepository::some_ids_might_support_action(const SupportsActionTestBase & a)
return a.accept_returning<bool>(q);
}
+bool
+GemsRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
const bool
GemsRepository::is_unimportant() const
{
diff --git a/paludis/repositories/gems/gems_repository.hh b/paludis/repositories/gems/gems_repository.hh
index 92bf5d573..1cdcd6350 100644
--- a/paludis/repositories/gems/gems_repository.hh
+++ b/paludis/repositories/gems/gems_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 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
@@ -84,6 +84,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual const bool is_unimportant() const;
virtual bool sync(const std::tr1::shared_ptr<OutputManager> &) const;
diff --git a/paludis/repositories/gems/installed_gems_repository.cc b/paludis/repositories/gems/installed_gems_repository.cc
index ec361e08e..d83830875 100644
--- a/paludis/repositories/gems/installed_gems_repository.cc
+++ b/paludis/repositories/gems/installed_gems_repository.cc
@@ -348,6 +348,12 @@ InstalledGemsRepository::some_ids_might_support_action(const SupportsActionTestB
return a.accept_returning<bool>(q);
}
+bool
+InstalledGemsRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
const bool
InstalledGemsRepository::is_unimportant() const
{
diff --git a/paludis/repositories/gems/installed_gems_repository.hh b/paludis/repositories/gems/installed_gems_repository.hh
index 8bc437ab9..434d0b916 100644
--- a/paludis/repositories/gems/installed_gems_repository.hh
+++ b/paludis/repositories/gems/installed_gems_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 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
@@ -99,6 +99,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual const bool is_unimportant() const;
virtual bool sync(const std::tr1::shared_ptr<OutputManager> &) const;
diff --git a/paludis/repositories/repository/repository_repository.cc b/paludis/repositories/repository/repository_repository.cc
index c29a41ee8..263a8d096 100644
--- a/paludis/repositories/repository/repository_repository.cc
+++ b/paludis/repositories/repository/repository_repository.cc
@@ -256,6 +256,12 @@ RepositoryRepository::some_ids_might_support_action(const SupportsActionTestBase
}
bool
+RepositoryRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
+bool
RepositoryRepository::sync(const std::tr1::shared_ptr<OutputManager> &) const
{
return false;
diff --git a/paludis/repositories/repository/repository_repository.hh b/paludis/repositories/repository/repository_repository.hh
index f7edf92f4..e4ea39625 100644
--- a/paludis/repositories/repository/repository_repository.hh
+++ b/paludis/repositories/repository/repository_repository.hh
@@ -93,6 +93,7 @@ namespace paludis
virtual std::tr1::shared_ptr<const PackageIDSequence> package_ids(const QualifiedPackageName & p) const;
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
virtual void invalidate();
virtual void invalidate_masks();
diff --git a/paludis/repositories/unavailable/unavailable_repository.cc b/paludis/repositories/unavailable/unavailable_repository.cc
index dbdbffdb5..f420edbe2 100644
--- a/paludis/repositories/unavailable/unavailable_repository.cc
+++ b/paludis/repositories/unavailable/unavailable_repository.cc
@@ -254,6 +254,12 @@ UnavailableRepository::some_ids_might_support_action(const SupportsActionTestBas
}
bool
+UnavailableRepository::some_ids_might_not_be_masked() const
+{
+ return false;
+}
+
+bool
UnavailableRepository::sync(const std::tr1::shared_ptr<OutputManager> & output_manager) const
{
Context context("When syncing repository '" + stringify(name()) + "':");
diff --git a/paludis/repositories/unavailable/unavailable_repository.hh b/paludis/repositories/unavailable/unavailable_repository.hh
index d597f3890..d4bf5832a 100644
--- a/paludis/repositories/unavailable/unavailable_repository.hh
+++ b/paludis/repositories/unavailable/unavailable_repository.hh
@@ -92,6 +92,7 @@ namespace paludis
virtual std::tr1::shared_ptr<const PackageIDSequence> package_ids(const QualifiedPackageName & p) const;
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
virtual void invalidate();
virtual void invalidate_masks();
diff --git a/paludis/repositories/unpackaged/installed_repository.cc b/paludis/repositories/unpackaged/installed_repository.cc
index 0a5fa9126..d9c733778 100644
--- a/paludis/repositories/unpackaged/installed_repository.cc
+++ b/paludis/repositories/unpackaged/installed_repository.cc
@@ -215,6 +215,12 @@ InstalledUnpackagedRepository::some_ids_might_support_action(const SupportsActio
return test.accept_returning<bool>(v);
}
+bool
+InstalledUnpackagedRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
const bool
InstalledUnpackagedRepository::is_unimportant() const
{
diff --git a/paludis/repositories/unpackaged/installed_repository.hh b/paludis/repositories/unpackaged/installed_repository.hh
index 292172def..103d82b96 100644
--- a/paludis/repositories/unpackaged/installed_repository.hh
+++ b/paludis/repositories/unpackaged/installed_repository.hh
@@ -102,6 +102,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual const bool is_unimportant() const;
/* Keys */
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.cc b/paludis/repositories/unpackaged/unpackaged_repository.cc
index ae2b0500f..bdfccd9fe 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.cc
+++ b/paludis/repositories/unpackaged/unpackaged_repository.cc
@@ -169,6 +169,12 @@ UnpackagedRepository::some_ids_might_support_action(const SupportsActionTestBase
return _imp->id->supports_action(test);
}
+bool
+UnpackagedRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
const bool
UnpackagedRepository::is_unimportant() const
{
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.hh b/paludis/repositories/unpackaged/unpackaged_repository.hh
index 16bae0f34..76e8b63bd 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.hh
+++ b/paludis/repositories/unpackaged/unpackaged_repository.hh
@@ -100,6 +100,7 @@ namespace paludis
PALUDIS_ATTRIBUTE((warn_unused_result));
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
virtual const bool is_unimportant() const;
diff --git a/paludis/repositories/unwritten/unwritten_repository.cc b/paludis/repositories/unwritten/unwritten_repository.cc
index 625d7f72d..e9e4e3ac7 100644
--- a/paludis/repositories/unwritten/unwritten_repository.cc
+++ b/paludis/repositories/unwritten/unwritten_repository.cc
@@ -254,6 +254,12 @@ UnwrittenRepository::some_ids_might_support_action(const SupportsActionTestBase
}
bool
+UnwrittenRepository::some_ids_might_not_be_masked() const
+{
+ return false;
+}
+
+bool
UnwrittenRepository::sync(const std::tr1::shared_ptr<OutputManager> & output_manager) const
{
Context context("When syncing repository '" + stringify(name()) + "':");
diff --git a/paludis/repositories/unwritten/unwritten_repository.hh b/paludis/repositories/unwritten/unwritten_repository.hh
index 2ff276674..7775f5988 100644
--- a/paludis/repositories/unwritten/unwritten_repository.hh
+++ b/paludis/repositories/unwritten/unwritten_repository.hh
@@ -91,6 +91,7 @@ namespace paludis
virtual std::tr1::shared_ptr<const PackageIDSequence> package_ids(const QualifiedPackageName & p) const;
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
virtual void invalidate();
virtual void invalidate_masks();
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.cc b/paludis/repositories/virtuals/installed_virtuals_repository.cc
index 7fc615f8c..b045bfc4e 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.cc
+++ b/paludis/repositories/virtuals/installed_virtuals_repository.cc
@@ -300,6 +300,12 @@ InstalledVirtualsRepository::some_ids_might_support_action(const SupportsActionT
return a.accept_returning<bool>(q);
}
+bool
+InstalledVirtualsRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
std::tr1::shared_ptr<const CategoryNamePartSet>
InstalledVirtualsRepository::unimportant_category_names() const
{
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.hh b/paludis/repositories/virtuals/installed_virtuals_repository.hh
index 91776394c..9deae5f05 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.hh
+++ b/paludis/repositories/virtuals/installed_virtuals_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 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
@@ -108,6 +108,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual bool sync(const std::tr1::shared_ptr<OutputManager> &) const;
/* Keys */
diff --git a/paludis/repositories/virtuals/virtuals_repository.cc b/paludis/repositories/virtuals/virtuals_repository.cc
index cb0ce8578..a5bbb366c 100644
--- a/paludis/repositories/virtuals/virtuals_repository.cc
+++ b/paludis/repositories/virtuals/virtuals_repository.cc
@@ -400,6 +400,12 @@ VirtualsRepository::some_ids_might_support_action(const SupportsActionTestBase &
return a.accept_returning<bool>(q);
}
+bool
+VirtualsRepository::some_ids_might_not_be_masked() const
+{
+ return true;
+}
+
std::tr1::shared_ptr<const CategoryNamePartSet>
VirtualsRepository::unimportant_category_names() const
{
diff --git a/paludis/repositories/virtuals/virtuals_repository.hh b/paludis/repositories/virtuals/virtuals_repository.hh
index 2071554d2..d488c99f2 100644
--- a/paludis/repositories/virtuals/virtuals_repository.hh
+++ b/paludis/repositories/virtuals/virtuals_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 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
@@ -105,6 +105,8 @@ namespace paludis
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+ virtual bool some_ids_might_not_be_masked() const;
+
virtual bool sync(const std::tr1::shared_ptr<OutputManager> &) const;
/* RepositoryMakeVirtualsInterface */
diff --git a/paludis/repository.hh b/paludis/repository.hh
index 99900406c..7de545c1a 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -379,12 +379,21 @@ namespace paludis
/**
* Might some of our IDs support a particular action?
*
- * Used to optimise PackageDatabase::query. If a repository doesn't
- * support, say, InstallAction, a query can skip searching it
- * entirely when looking for installable packages.
+ * Used to optimise various Generator and Filter queries. If a
+ * repository doesn't support, say, InstallAction, a query can skip
+ * searching it entirely when looking for installable packages.
*/
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const = 0;
+ /**
+ * Might some of our IDs be not masked?
+ *
+ * Used to optimise various Generator and Filter queries.
+ *
+ * \since 0.49
+ */
+ virtual bool some_ids_might_not_be_masked() const = 0;
+
///\}
///\name Repository behaviour methods