aboutsummaryrefslogtreecommitdiff
path: root/paludis/repository-fwd.hh
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2008-02-21 14:40:19 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2008-02-21 14:40:19 +0000
commit981dd553a590eff046d49bccd06f2cb61963edee (patch)
tree5ffceeda6cfaa575b92ca48e1152997bbded3605 /paludis/repository-fwd.hh
parent690aca7a8de4bf9b682be59abbed08a8d12a21d8 (diff)
downloadpaludis-981dd553a590eff046d49bccd06f2cb61963edee.tar.gz
paludis-981dd553a590eff046d49bccd06f2cb61963edee.tar.xz
More sr -> kc
Diffstat (limited to 'paludis/repository-fwd.hh')
-rw-r--r--paludis/repository-fwd.hh91
1 files changed, 88 insertions, 3 deletions
diff --git a/paludis/repository-fwd.hh b/paludis/repository-fwd.hh
index ca968a241..9ddfab9a0 100644
--- a/paludis/repository-fwd.hh
+++ b/paludis/repository-fwd.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008 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
@@ -21,7 +21,14 @@
#define PALUDIS_GUARD_PALUDIS_REPOSITORY_FWD_HH 1
#include <paludis/util/set-fwd.hh>
+#include <paludis/util/kc-fwd.hh>
+#include <paludis/util/fs_entry-fwd.hh>
+#include <paludis/util/keys.hh>
#include <paludis/util/tr1_memory.hh>
+#include <paludis/name-fwd.hh>
+#include <paludis/merger-fwd.hh>
+#include <paludis/package_id-fwd.hh>
+#include <paludis/dep_spec-fwd.hh>
/** \file
* Forward declarations for paludis/repository.hh .
@@ -56,8 +63,6 @@ namespace paludis
class RepositoryQAInterface;
class RepositoryManifestInterface;
- class MergeParams;
-
/**
* A set of destinations, used to decide whether a PackageID can be
* installed to a particular Repository.
@@ -65,6 +70,86 @@ namespace paludis
* \ingroup g_repository
*/
typedef Set<paludis::tr1::shared_ptr<Repository> > DestinationsSet;
+
+
+ /**
+ * Optional interfaces that may be provided by a Repository.
+ *
+ * \see Repository
+ * \ingroup g_repository
+ * \nosubgrouping
+ */
+ typedef kc::KeyedClass<
+ kc::Field<k::sets_interface, RepositorySetsInterface *>,
+ kc::Field<k::syncable_interface, RepositorySyncableInterface *>,
+ kc::Field<k::use_interface, RepositoryUseInterface *>,
+ kc::Field<k::world_interface, RepositoryWorldInterface *>,
+ kc::Field<k::mirrors_interface, RepositoryMirrorsInterface *>,
+ kc::Field<k::environment_variable_interface, RepositoryEnvironmentVariableInterface *>,
+ kc::Field<k::provides_interface, RepositoryProvidesInterface *>,
+ kc::Field<k::virtuals_interface, RepositoryVirtualsInterface *>,
+ kc::Field<k::make_virtuals_interface, RepositoryMakeVirtualsInterface *>,
+ kc::Field<k::destination_interface, RepositoryDestinationInterface *>,
+ kc::Field<k::e_interface, RepositoryEInterface *>,
+ kc::Field<k::hook_interface, RepositoryHookInterface *>,
+ kc::Field<k::qa_interface, RepositoryQAInterface *>,
+ kc::Field<k::manifest_interface, RepositoryManifestInterface *>
+ > RepositoryCapabilities;
+
+ /**
+ * A profiles.desc line in a Repository implementing RepositoryEInterface.
+ *
+ * \see Repository
+ * \see RepositoryEInterface
+ * \ingroup g_repository
+ * \nosubgrouping
+ */
+ typedef kc::KeyedClass<
+ kc::Field<k::path, FSEntry>,
+ kc::Field<k::arch, std::string>,
+ kc::Field<k::status, std::string>,
+ kc::Field<k::profile, tr1::shared_ptr<ERepositoryProfile> >
+ >RepositoryEInterfaceProfilesDescLine;
+
+ /**
+ * A provides entry in a Repository implementing RepositoryProvidesInterface.
+ *
+ * \see Repository
+ * \see RepositoryProvidesInterface
+ * \ingroup g_repository
+ * \nosubgrouping
+ */
+ typedef kc::KeyedClass<
+ kc::Field<k::virtual_name, QualifiedPackageName>,
+ kc::Field<k::provided_by, tr1::shared_ptr<const PackageID> >
+ > RepositoryProvidesEntry;
+
+ /**
+ * A virtuals entry in a Repository implementing RepositoryVirtualsInterface.
+ *
+ * \see Repository
+ * \see RepositoryVirtualsInterface
+ * \ingroup g_repository
+ * \nosubgrouping
+ */
+ typedef kc::KeyedClass<
+ kc::Field<k::virtual_name, QualifiedPackageName>,
+ kc::Field<k::provided_by_spec, tr1::shared_ptr<const PackageDepSpec> >
+ > RepositoryVirtualsEntry;
+
+ /**
+ * Parameters for RepositoryDestinationInterface::merge.
+ *
+ * \see RepositoryDestinationInterface
+ * \ingroup g_repository
+ * \nosubgrouping
+ */
+ typedef kc::KeyedClass<
+ kc::Field<k::package_id, tr1::shared_ptr<const PackageID> >,
+ kc::Field<k::image_dir, FSEntry>,
+ kc::Field<k::environment_file, FSEntry>,
+ kc::Field<k::options, MergerOptions>
+ > MergeParams;
}
#endif