aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories/e/vdb_repository.hh
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-16 08:23:00 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-16 08:23:00 +0000
commitdc95c2f26ea490fce48575cd19b995d2b34297cf (patch)
treeecf718069b33a1ca5b0ba586ba3bd7f7bdfc09e4 /paludis/repositories/e/vdb_repository.hh
parent7385570bea9b9d1954edf7a824fa61bd42c371e8 (diff)
downloadpaludis-dc95c2f26ea490fce48575cd19b995d2b34297cf.tar.gz
paludis-dc95c2f26ea490fce48575cd19b995d2b34297cf.tar.xz
Replace RepositoryInfo with emtadata keys. Change how we handle ambiguous _imp. Introduce common Literal metadata key classes to reduce duplicated code. Fixes: ticket:438. Fixes: ticket:416
Diffstat (limited to 'paludis/repositories/e/vdb_repository.hh')
-rw-r--r--paludis/repositories/e/vdb_repository.hh32
1 files changed, 10 insertions, 22 deletions
diff --git a/paludis/repositories/e/vdb_repository.hh b/paludis/repositories/e/vdb_repository.hh
index bd65893fa..0469d1cc8 100644
--- a/paludis/repositories/e/vdb_repository.hh
+++ b/paludis/repositories/e/vdb_repository.hh
@@ -50,7 +50,6 @@ namespace paludis
*/
class PALUDIS_VISIBLE VDBRepository :
public Repository,
- public RepositoryInstalledInterface,
public RepositoryUseInterface,
public RepositorySetsInterface,
public RepositoryWorldInterface,
@@ -62,6 +61,9 @@ namespace paludis
public PrivateImplementationPattern<VDBRepository>
{
private:
+ PrivateImplementationPattern<VDBRepository>::ImpPtr & _imp;
+ void _add_metadata_keys() const;
+
bool load_provided_using_cache() const;
void load_provided_the_slow_way() const;
@@ -81,6 +83,9 @@ namespace paludis
const FSEntry &) const
PALUDIS_ATTRIBUTE((warn_unused_result));
+ protected:
+ virtual void need_keys_added() const;
+
public:
/**
* Constructor.
@@ -117,11 +122,6 @@ namespace paludis
///\}
- /* RepositoryInstalledInterface */
-
- virtual FSEntry root() const
- PALUDIS_ATTRIBUTE((warn_unused_result));
-
/* RepositoryUseInterface */
virtual UseFlagState query_use(const UseFlagName &, const PackageID &) const
@@ -203,40 +203,28 @@ namespace paludis
const QualifiedPackageName &) const
PALUDIS_ATTRIBUTE((warn_unused_result));
- /**
- * Override in descendents: fetch package names.
- */
virtual tr1::shared_ptr<const QualifiedPackageNameSet> package_names(
const CategoryNamePart &) const
PALUDIS_ATTRIBUTE((warn_unused_result));
- /**
- * Override in descendents: fetch category names.
- */
virtual tr1::shared_ptr<const CategoryNamePartSet> category_names() const
PALUDIS_ATTRIBUTE((warn_unused_result));
- /**
- * Override in descendents if a fast implementation is available: fetch category names
- * that contain a particular package.
- */
virtual tr1::shared_ptr<const CategoryNamePartSet> category_names_containing_package(
const PackageNamePart &) const
PALUDIS_ATTRIBUTE((warn_unused_result));
- /**
- * Override in descendents: check for a package.
- */
virtual bool has_package_named(const QualifiedPackageName &) const
PALUDIS_ATTRIBUTE((warn_unused_result));
- /**
- * Override in descendents: check for a category.
- */
virtual bool has_category_named(const CategoryNamePart &) const
PALUDIS_ATTRIBUTE((warn_unused_result));
virtual bool some_ids_might_support_action(const SupportsActionTestBase &) const;
+
+ /* Keys */
+ virtual const tr1::shared_ptr<const MetadataStringKey> format_key() const;
+ virtual const tr1::shared_ptr<const MetadataFSEntryKey> installed_root_key() const;
};
/**