aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-03-12 16:34:11 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-03-12 16:34:11 +0000
commitcd1b733f8633ddc2c599bd7a84902c40720fddab (patch)
tree2a6d277c1912f23300157c846b2c40a98998190d
parent18c1ceed03e53ce9273482867ef9697b46dcc9b0 (diff)
downloadpaludis-cd1b733f8633ddc2c599bd7a84902c40720fddab.tar.gz
paludis-cd1b733f8633ddc2c599bd7a84902c40720fddab.tar.xz
Let VersionMetadata interfaces access the base class
-rwxr-xr-xmisc/make_sr.bash70
-rw-r--r--paludis/dep_list/dep_list.cc15
-rw-r--r--paludis/repositories/cran/cran_version_metadata.cc14
-rw-r--r--paludis/repositories/cran/cran_version_metadata.hh12
-rw-r--r--paludis/repositories/fake/fake_repository_base.cc14
-rw-r--r--paludis/repositories/fake/fake_repository_base.hh16
-rw-r--r--paludis/repositories/gems/gems_version_metadata.cc7
-rw-r--r--paludis/repositories/gems/gems_version_metadata.hh8
-rw-r--r--paludis/repositories/gentoo/ebin.cc7
-rw-r--r--paludis/repositories/gentoo/ebin.hh8
-rw-r--r--paludis/repositories/gentoo/ebuild.cc7
-rw-r--r--paludis/repositories/gentoo/ebuild.hh8
-rw-r--r--paludis/repositories/gentoo/portage_virtual_version_metadata.cc7
-rw-r--r--paludis/repositories/gentoo/portage_virtual_version_metadata.hh8
-rw-r--r--paludis/repositories/gentoo/vdb_version_metadata.cc48
-rw-r--r--paludis/repositories/gentoo/vdb_version_metadata.hh16
-rw-r--r--paludis/version_metadata.cc10
-rw-r--r--paludis/version_metadata.hh14
-rw-r--r--paludis/version_metadata.sr16
19 files changed, 240 insertions, 65 deletions
diff --git a/misc/make_sr.bash b/misc/make_sr.bash
index 7193bce..20c7b75 100755
--- a/misc/make_sr.bash
+++ b/misc/make_sr.bash
@@ -40,6 +40,7 @@ while read a ; do
want_visible=
want_keys=( )
want_key_types=( )
+ want_inherit=( )
want_comparison_operators=
want_comparison_fields=( )
@@ -68,6 +69,11 @@ while read a ; do
:
}
+ inherit()
+ {
+ want_inherit=( "${want_inherit[@]}" "$1" )
+ }
+
key()
{
want_keys=( "${want_keys[@]}" "$1" )
@@ -102,6 +108,11 @@ while read a ; do
:
}
+ inherit()
+ {
+ :
+ }
+
comparison_operators()
{
:
@@ -130,10 +141,25 @@ while read a ; do
if [[ "${what_to_make}" == "--header" ]] ; then
if [[ -z ${want_visible} ]] ; then
- echo "class ${a}"
+ echo -n "class ${a}"
+ else
+ echo -n "class PALUDIS_VISIBLE ${a}"
+ fi
+
+ if [[ 0 != "${#want_inherit[@]}" ]] ; then
+ echo " :"
+ for (( k = 0 ; k < ${#want_inherit[@]} ; k++ )) ; do
+ echo -n " ${want_inherit[${k}]}"
+ if [[ ${k} == $(( ${#want_inherit[@]} - 1 )) ]] ; then
+ echo
+ else
+ echo ","
+ fi
+ done
else
- echo "class PALUDIS_VISIBLE ${a}"
+ echo
fi
+
echo "{"
echo " public:"
echo
@@ -282,7 +308,7 @@ while read a ; do
echo " */"
echo " template <"
for (( k = 0 ; k < ${#want_keys[@]} ; k++ )) ; do
- echo -n " bool has_${want_keys[${k}]}_"
+ echo -n " bool has_${want_keys[${k}]}_ = true"
if [[ $(( ${k} + 1 )) -lt ${#want_keys[@]} ]] ; then
echo ","
else
@@ -381,21 +407,6 @@ while read a ; do
echo " {"
echo " }"
echo
- echo " operator ${a} () const"
- echo " {"
- echo " return ${a}("
- for (( k = 0 ; k < ${#want_keys[@]} ; k++ )) ; do
- echo -n " this->${want_keys[${k}]}"
- if [[ $(( ${k} + 1 )) -lt ${#want_keys[@]} ]] ; then
- echo ", "
- else
- echo
- fi
- done
-
- echo " );"
- echo " }"
- echo
echo " ///\}"
echo
echo " };"
@@ -414,6 +425,29 @@ while read a ; do
echo "#endif"
fi
+ if [[ -n "${want_named_args}" ]] ; then
+ echo " ${a}(const Params<"
+ for (( k = 0 ; k < ${#want_keys[@]} ; k++ )) ; do
+ echo -n " true"
+ if [[ $(( ${k} + 1 )) -lt ${#want_keys[@]} ]] ; then
+ echo ","
+ else
+ echo "> & params) :"
+ fi
+ done
+ for (( k = 0 ; k < ${#want_keys[@]} ; k++ )) ; do
+ echo -n " ${want_keys[${k}]}(params.${want_keys[${k}]})"
+ if [[ $(( ${k} + 1 )) -lt ${#want_keys[@]} ]] ; then
+ echo ","
+ else
+ echo
+ fi
+ done
+ echo " {"
+ echo " }"
+ echo
+ fi
+
echo "};"
elif [[ "${what_to_make}" == "--source" ]] ; then
diff --git a/paludis/dep_list/dep_list.cc b/paludis/dep_list/dep_list.cc
index 077ab4a..41b4c8f 100644
--- a/paludis/dep_list/dep_list.cc
+++ b/paludis/dep_list/dep_list.cc
@@ -113,12 +113,18 @@ namespace
{
class FakedVirtualVersionMetadata :
public VersionMetadata,
- public VersionMetadataVirtualInterface
+ public VersionMetadataVirtualInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
FakedVirtualVersionMetadata(const SlotName & s, const PackageDatabaseEntry & e) :
VersionMetadata(
- VersionMetadataBase(s, "", "", "paludis-1", false),
+ VersionMetadataBase::create()
+ .slot(s)
+ .homepage("")
+ .description("")
+ .eapi("paludis-1")
+ .interactive(false),
VersionMetadataCapabilities::create()
.cran_interface(0)
.virtual_interface(this)
@@ -130,6 +136,11 @@ namespace
VersionMetadataVirtualInterface(e)
{
}
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
struct GenerationGreaterThan
diff --git a/paludis/repositories/cran/cran_version_metadata.cc b/paludis/repositories/cran/cran_version_metadata.cc
index fc8b4c9..9f94fed 100644
--- a/paludis/repositories/cran/cran_version_metadata.cc
+++ b/paludis/repositories/cran/cran_version_metadata.cc
@@ -24,25 +24,27 @@ using namespace paludis;
CRANVersionMetadata::CRANVersionMetadata(bool want_origins) :
VersionMetadata(
- VersionMetadataBase(SlotName("unset"), "", "", "UNKNOWN", false),
+ VersionMetadataBase::create()
+ .slot(SlotName("unset"))
+ .homepage("")
+ .description("")
+ .eapi("UNKNOWN")
+ .interactive(false),
VersionMetadataCapabilities::create()
.cran_interface(this)
.ebuild_interface(0)
.license_interface(0)
.virtual_interface(0)
- .origins_interface(want_origins ? _origins : 0)
+ .origins_interface(want_origins ? this : 0)
.deps_interface(this)
.ebin_interface(0)
),
VersionMetadataCRANInterface("", "", "", false, false),
- VersionMetadataDepsInterface(CRANDepParser::parse),
- _origins(want_origins ? new VersionMetadataOriginsInterface : 0)
+ VersionMetadataDepsInterface(CRANDepParser::parse)
{
}
CRANVersionMetadata::~CRANVersionMetadata()
{
- if (_origins)
- delete _origins;
}
diff --git a/paludis/repositories/cran/cran_version_metadata.hh b/paludis/repositories/cran/cran_version_metadata.hh
index f7bc9ba..24eabeb 100644
--- a/paludis/repositories/cran/cran_version_metadata.hh
+++ b/paludis/repositories/cran/cran_version_metadata.hh
@@ -27,14 +27,18 @@ namespace paludis
class CRANVersionMetadata :
public VersionMetadata,
public VersionMetadataCRANInterface,
- public VersionMetadataDepsInterface
+ public VersionMetadataDepsInterface,
+ public VersionMetadataOriginsInterface,
+ public virtual VersionMetadataHasInterfaces
{
- private:
- VersionMetadataOriginsInterface * _origins;
-
public:
CRANVersionMetadata(bool want_origins);
virtual ~CRANVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
}
diff --git a/paludis/repositories/fake/fake_repository_base.cc b/paludis/repositories/fake/fake_repository_base.cc
index 8dc1d55..2169f24 100644
--- a/paludis/repositories/fake/fake_repository_base.cc
+++ b/paludis/repositories/fake/fake_repository_base.cc
@@ -304,7 +304,12 @@ FakeRepositoryBase::environment() const
FakeVersionMetadata::FakeVersionMetadata() :
VersionMetadata(
- VersionMetadataBase(SlotName("0"), "", "", "paludis-1", false),
+ VersionMetadataBase::create()
+ .slot(SlotName("0"))
+ .homepage("")
+ .description("")
+ .eapi("paludis-1")
+ .interactive(false),
VersionMetadataCapabilities::create()
.ebuild_interface(this)
.deps_interface(this)
@@ -327,7 +332,12 @@ FakeVersionMetadata::~FakeVersionMetadata()
FakeVirtualVersionMetadata::FakeVirtualVersionMetadata(const SlotName & s, const PackageDatabaseEntry & p) :
VersionMetadata(
- VersionMetadataBase(s, "", "", "paludis-1", false),
+ VersionMetadataBase::create()
+ .slot(s)
+ .homepage("")
+ .description("")
+ .eapi("paludis-1")
+ .interactive(false),
VersionMetadataCapabilities::create()
.ebuild_interface(0)
.deps_interface(this)
diff --git a/paludis/repositories/fake/fake_repository_base.hh b/paludis/repositories/fake/fake_repository_base.hh
index 5c27170..ad8c9ca 100644
--- a/paludis/repositories/fake/fake_repository_base.hh
+++ b/paludis/repositories/fake/fake_repository_base.hh
@@ -43,11 +43,17 @@ namespace paludis
public VersionMetadata,
public VersionMetadataEbuildInterface,
public VersionMetadataDepsInterface,
- public VersionMetadataLicenseInterface
+ public VersionMetadataLicenseInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
FakeVersionMetadata();
virtual ~FakeVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
/**
@@ -60,11 +66,17 @@ namespace paludis
class FakeVirtualVersionMetadata :
public VersionMetadata,
public VersionMetadataDepsInterface,
- public VersionMetadataVirtualInterface
+ public VersionMetadataVirtualInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
FakeVirtualVersionMetadata(const SlotName &, const PackageDatabaseEntry &);
virtual ~FakeVirtualVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
/**
diff --git a/paludis/repositories/gems/gems_version_metadata.cc b/paludis/repositories/gems/gems_version_metadata.cc
index 40ffcdd..4676f1f 100644
--- a/paludis/repositories/gems/gems_version_metadata.cc
+++ b/paludis/repositories/gems/gems_version_metadata.cc
@@ -24,7 +24,12 @@ using namespace paludis;
GemsVersionMetadata::GemsVersionMetadata(const VersionSpec & v) :
VersionMetadata(
- VersionMetadataBase(SlotName(stringify(v)), "", "", "paludis-1", false),
+ VersionMetadataBase::create()
+ .slot(SlotName(stringify(v)))
+ .homepage("")
+ .description("")
+ .eapi("paludis-1")
+ .interactive(false),
VersionMetadataCapabilities::create()
.deps_interface(this)
.ebuild_interface(0)
diff --git a/paludis/repositories/gems/gems_version_metadata.hh b/paludis/repositories/gems/gems_version_metadata.hh
index cd141b8..9fadb3c 100644
--- a/paludis/repositories/gems/gems_version_metadata.hh
+++ b/paludis/repositories/gems/gems_version_metadata.hh
@@ -33,11 +33,17 @@ namespace paludis
*/
class GemsVersionMetadata :
public VersionMetadata,
- public VersionMetadataDepsInterface
+ public VersionMetadataDepsInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
GemsVersionMetadata(const VersionSpec &);
virtual ~GemsVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
}
diff --git a/paludis/repositories/gentoo/ebin.cc b/paludis/repositories/gentoo/ebin.cc
index 9a2411f..bbd5796 100644
--- a/paludis/repositories/gentoo/ebin.cc
+++ b/paludis/repositories/gentoo/ebin.cc
@@ -32,7 +32,12 @@ using namespace paludis;
EbinVersionMetadata::EbinVersionMetadata(const SlotName & s) :
VersionMetadata(
- VersionMetadataBase(s, "", "", "paludis-1", false),
+ VersionMetadataBase::create()
+ .slot(s)
+ .homepage("")
+ .description("")
+ .eapi("paludis-1")
+ .interactive(false),
VersionMetadataCapabilities::create()
.ebin_interface(this)
.ebuild_interface(this)
diff --git a/paludis/repositories/gentoo/ebin.hh b/paludis/repositories/gentoo/ebin.hh
index a471cf8..1ebacd0 100644
--- a/paludis/repositories/gentoo/ebin.hh
+++ b/paludis/repositories/gentoo/ebin.hh
@@ -40,11 +40,17 @@ namespace paludis
public VersionMetadataEbinInterface,
public VersionMetadataDepsInterface,
public VersionMetadataLicenseInterface,
- public VersionMetadataOriginsInterface
+ public VersionMetadataOriginsInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
EbinVersionMetadata(const SlotName &);
virtual ~EbinVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
class EbinCommand :
diff --git a/paludis/repositories/gentoo/ebuild.cc b/paludis/repositories/gentoo/ebuild.cc
index 72aff19..6069aed 100644
--- a/paludis/repositories/gentoo/ebuild.cc
+++ b/paludis/repositories/gentoo/ebuild.cc
@@ -449,7 +449,12 @@ EbuildUninstallCommand::EbuildUninstallCommand(const EbuildCommandParams & p,
EbuildVersionMetadata::EbuildVersionMetadata() :
VersionMetadata(
- VersionMetadataBase(SlotName("unset"), "", "", "UNKNOWN", false),
+ VersionMetadataBase::create()
+ .slot(SlotName("UNSET"))
+ .homepage("")
+ .description("")
+ .eapi("UNKNOWN")
+ .interactive(false),
VersionMetadataCapabilities::create()
.ebuild_interface(this)
.cran_interface(0)
diff --git a/paludis/repositories/gentoo/ebuild.hh b/paludis/repositories/gentoo/ebuild.hh
index eae7764..f775a7f 100644
--- a/paludis/repositories/gentoo/ebuild.hh
+++ b/paludis/repositories/gentoo/ebuild.hh
@@ -65,11 +65,17 @@ namespace paludis
public VersionMetadata,
public VersionMetadataEbuildInterface,
public VersionMetadataDepsInterface,
- public VersionMetadataLicenseInterface
+ public VersionMetadataLicenseInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
EbuildVersionMetadata();
virtual ~EbuildVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
/**
diff --git a/paludis/repositories/gentoo/portage_virtual_version_metadata.cc b/paludis/repositories/gentoo/portage_virtual_version_metadata.cc
index 5e4ff7d..f5a0dfd 100644
--- a/paludis/repositories/gentoo/portage_virtual_version_metadata.cc
+++ b/paludis/repositories/gentoo/portage_virtual_version_metadata.cc
@@ -25,7 +25,12 @@ using namespace paludis;
PortageVirtualVersionMetadata::PortageVirtualVersionMetadata(const SlotName & s,
const PackageDatabaseEntry & e) :
VersionMetadata(
- VersionMetadataBase(s, "", "", "paludis-1", false),
+ VersionMetadataBase::create()
+ .slot(s)
+ .homepage("")
+ .description("")
+ .eapi("paludis-1")
+ .interactive(false),
VersionMetadataCapabilities::create()
.virtual_interface(this)
.ebuild_interface(0)
diff --git a/paludis/repositories/gentoo/portage_virtual_version_metadata.hh b/paludis/repositories/gentoo/portage_virtual_version_metadata.hh
index 79e6028..eb412c8 100644
--- a/paludis/repositories/gentoo/portage_virtual_version_metadata.hh
+++ b/paludis/repositories/gentoo/portage_virtual_version_metadata.hh
@@ -27,11 +27,17 @@ namespace paludis
class PortageVirtualVersionMetadata :
public VersionMetadata,
public VersionMetadataVirtualInterface,
- public VersionMetadataDepsInterface
+ public VersionMetadataDepsInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
PortageVirtualVersionMetadata(const SlotName &, const PackageDatabaseEntry &);
virtual ~PortageVirtualVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
}
diff --git a/paludis/repositories/gentoo/vdb_version_metadata.cc b/paludis/repositories/gentoo/vdb_version_metadata.cc
index 3ced16c..be2026a 100644
--- a/paludis/repositories/gentoo/vdb_version_metadata.cc
+++ b/paludis/repositories/gentoo/vdb_version_metadata.cc
@@ -24,16 +24,21 @@ using namespace paludis;
VDBVersionMetadata::VDBVersionMetadata() :
VersionMetadata(
- VersionMetadataBase(SlotName("unset"), "", "", "UNKNOWN", false),
- VersionMetadataCapabilities::create()
- .deps_interface(this)
- .origins_interface(this)
- .ebuild_interface(this)
- .license_interface(this)
- .virtual_interface(0)
- .cran_interface(0)
- .ebin_interface(0)
- ),
+ VersionMetadataBase::create()
+ .slot(SlotName("UNSET"))
+ .homepage("")
+ .description("")
+ .eapi("UNKNOWN")
+ .interactive(false),
+ VersionMetadataCapabilities::create()
+ .deps_interface(this)
+ .origins_interface(this)
+ .ebuild_interface(this)
+ .license_interface(this)
+ .virtual_interface(0)
+ .cran_interface(0)
+ .ebin_interface(0)
+ ),
VersionMetadataDepsInterface(&PortageDepParser::parse_depend),
VersionMetadataLicenseInterface(&PortageDepParser::parse_license)
{
@@ -46,15 +51,20 @@ VDBVersionMetadata::~VDBVersionMetadata()
VDBVirtualVersionMetadata::VDBVirtualVersionMetadata(const SlotName & s,
const PackageDatabaseEntry & e) :
VersionMetadata(
- VersionMetadataBase(s, "", "", "UNKNOWN", false),
- VersionMetadataCapabilities::create()
- .deps_interface(this)
- .origins_interface(0)
- .ebuild_interface(0)
- .license_interface(0)
- .virtual_interface(this)
- .cran_interface(0)
- .ebin_interface(0)
+ VersionMetadataBase::create()
+ .slot(s)
+ .homepage("")
+ .description("")
+ .eapi("UNKNOWN")
+ .interactive(false),
+ VersionMetadataCapabilities::create()
+ .deps_interface(this)
+ .origins_interface(0)
+ .ebuild_interface(0)
+ .license_interface(0)
+ .virtual_interface(this)
+ .cran_interface(0)
+ .ebin_interface(0)
),
VersionMetadataDepsInterface(&PortageDepParser::parse_depend),
VersionMetadataVirtualInterface(e)
diff --git a/paludis/repositories/gentoo/vdb_version_metadata.hh b/paludis/repositories/gentoo/vdb_version_metadata.hh
index f22721b..e2063a3 100644
--- a/paludis/repositories/gentoo/vdb_version_metadata.hh
+++ b/paludis/repositories/gentoo/vdb_version_metadata.hh
@@ -29,21 +29,33 @@ namespace paludis
public VersionMetadataDepsInterface,
public VersionMetadataOriginsInterface,
public VersionMetadataEbuildInterface,
- public VersionMetadataLicenseInterface
+ public VersionMetadataLicenseInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
VDBVersionMetadata();
virtual ~VDBVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
class VDBVirtualVersionMetadata :
public VersionMetadata,
public VersionMetadataDepsInterface,
- public VersionMetadataVirtualInterface
+ public VersionMetadataVirtualInterface,
+ public virtual VersionMetadataHasInterfaces
{
public:
VDBVirtualVersionMetadata(const SlotName &, const PackageDatabaseEntry &);
virtual ~VDBVirtualVersionMetadata();
+
+ virtual const VersionMetadata * version_metadata() const
+ {
+ return this;
+ }
};
}
diff --git a/paludis/version_metadata.cc b/paludis/version_metadata.cc
index 49c7f5e..f2cdd08 100644
--- a/paludis/version_metadata.cc
+++ b/paludis/version_metadata.cc
@@ -66,7 +66,7 @@ VersionMetadata::~VersionMetadata()
{
}
-VersionMetadata::VersionMetadata(const VersionMetadataBase & base, const VersionMetadataCapabilities & caps) :
+VersionMetadata::VersionMetadata(const VersionMetadataBase::Params<> & base, const VersionMetadataCapabilities & caps) :
VersionMetadataBase(base),
VersionMetadataCapabilities(caps)
{
@@ -102,3 +102,11 @@ VersionMetadataEbinInterface::VersionMetadataEbinInterface()
{
}
+VersionMetadataHasInterfaces::VersionMetadataHasInterfaces()
+{
+}
+
+VersionMetadataHasInterfaces::~VersionMetadataHasInterfaces()
+{
+}
+
diff --git a/paludis/version_metadata.hh b/paludis/version_metadata.hh
index 2d9b63e..3995f35 100644
--- a/paludis/version_metadata.hh
+++ b/paludis/version_metadata.hh
@@ -43,6 +43,18 @@ namespace paludis
class VersionMetadataOriginsInterface;
class VersionMetadataVirtualInterface;
class VersionMetadataLicenseInterface;
+ class VersionMetadata;
+
+ class VersionMetadataHasInterfaces
+ {
+ protected:
+ VersionMetadataHasInterfaces();
+
+ public:
+ virtual ~VersionMetadataHasInterfaces();
+
+ virtual const VersionMetadata * version_metadata() const = 0;
+ };
/**
* A pointer to a parse function.
@@ -67,7 +79,7 @@ namespace paludis
virtual ~VersionMetadata();
protected:
- VersionMetadata(const VersionMetadataBase &, const VersionMetadataCapabilities &);
+ VersionMetadata(const VersionMetadataBase::Params<> &, const VersionMetadataCapabilities &);
};
}
diff --git a/paludis/version_metadata.sr b/paludis/version_metadata.sr
index e4b9cd0..00e4d8d 100644
--- a/paludis/version_metadata.sr
+++ b/paludis/version_metadata.sr
@@ -26,6 +26,8 @@ END
make_class_VersionMetadataDepsInterface()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key parser ParserFunction
key build_depend_string std::string
@@ -71,6 +73,8 @@ END
make_class_VersionMetadataLicenseInterface()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key parser ParserFunction
key license_string std::string
@@ -98,6 +102,8 @@ END
make_class_VersionMetadataOriginsInterface()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key "source" "std::tr1::shared_ptr<PackageDatabaseEntry>"
key "binary" "std::tr1::shared_ptr<PackageDatabaseEntry>"
@@ -117,6 +123,8 @@ END
make_class_VersionMetadataBase()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key slot SlotName
key homepage std::string
key description std::string
@@ -137,6 +145,8 @@ END
make_class_VersionMetadataEbuildInterface()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key provide_string std::string
key src_uri std::string
key restrict_string std::string
@@ -170,6 +180,8 @@ END
make_class_VersionMetadataEbinInterface()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key bin_uri std::string
extra_constructors <<END
@@ -190,6 +202,8 @@ END
make_class_VersionMetadataCRANInterface()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key keywords std::string
key package std::string
key version std::string
@@ -210,6 +224,8 @@ END
make_class_VersionMetadataVirtualInterface()
{
+ inherit "public virtual VersionMetadataHasInterfaces"
+
key virtual_for PackageDatabaseEntry
doxygen_comment << "END"