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 bb4bad7..d20f044 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 9ddedcb..f6c1308 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 0c641d0..98ae4a5 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 1b47088..9b83da0 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 caaa08f..238cd86 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 2c722f1..91c5024 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 f3f8b8b..f0701a4 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 e55a1fa..a3d957a 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 94bc2bc..eefbec9 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 4310e51..949be11 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 0a438b0..3c2b180 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 10ac023..afaa3dc 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 19b1884..79cf0d3 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 884e183..245c99f 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 0e629ac..fb31866 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 92bf5d5..1cdcd63 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 ec361e0..d838308 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 8bc437a..434d0b9 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 c29a41e..263a8d0 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 f7edf92..e4ea396 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 dbdbffd..f420edb 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 d597f38..d4bf583 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 0a5fa91..d9c7337 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 292172d..103d82b 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 ae2b050..bdfccd9 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 16bae0f..76e8b63 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 625d7f7..e9e4e3a 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 2ff2766..7775f59 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 7fc615f..b045bfc 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 9177639..9deae5f 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 cb0ce85..a5bbb36 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 2071554..d488c99 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 9990040..7de545c 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