aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar David Leverton <levertond@googlemail.com> 2008-08-13 17:53:38 +0100
committerAvatar David Leverton <levertond@googlemail.com> 2008-08-16 12:34:24 +0100
commit06ddd80d20cd401e9c35508d4a3dec728c1db556 (patch)
treea118dc979abff31bf0c5d76fa20369c0c1985b22
parent1942ce8358ed3c2e11471bf4c780fc23e37edca5 (diff)
downloadpaludis-06ddd80d20cd401e9c35508d4a3dec728c1db556.tar.gz
paludis-06ddd80d20cd401e9c35508d4a3dec728c1db556.tar.xz
Add Repository::location_key.
-rw-r--r--paludis/repositories/cran/cran_installed_repository.cc6
-rw-r--r--paludis/repositories/cran/cran_installed_repository.hh1
-rw-r--r--paludis/repositories/cran/cran_repository.cc6
-rw-r--r--paludis/repositories/cran/cran_repository.hh1
-rw-r--r--paludis/repositories/e/e_repository.cc6
-rw-r--r--paludis/repositories/e/e_repository.hh1
-rw-r--r--paludis/repositories/e/exndbam_repository.cc6
-rw-r--r--paludis/repositories/e/exndbam_repository.hh1
-rw-r--r--paludis/repositories/e/vdb_repository.cc6
-rw-r--r--paludis/repositories/e/vdb_repository.hh1
-rw-r--r--paludis/repositories/fake/fake_installed_repository.cc6
-rw-r--r--paludis/repositories/fake/fake_installed_repository.hh1
-rw-r--r--paludis/repositories/fake/fake_repository.cc6
-rw-r--r--paludis/repositories/fake/fake_repository.hh1
-rw-r--r--paludis/repositories/gems/gems_repository.cc6
-rw-r--r--paludis/repositories/gems/gems_repository.hh1
-rw-r--r--paludis/repositories/gems/installed_gems_repository.cc6
-rw-r--r--paludis/repositories/gems/installed_gems_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.hh1
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.cc6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.hh1
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.cc6
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.hh1
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.cc6
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.hh1
-rw-r--r--paludis/repository.hh7
-rw-r--r--ruby/repository.cc2
30 files changed, 107 insertions, 0 deletions
diff --git a/paludis/repositories/cran/cran_installed_repository.cc b/paludis/repositories/cran/cran_installed_repository.cc
index c338a42..bc71d8c 100644
--- a/paludis/repositories/cran/cran_installed_repository.cc
+++ b/paludis/repositories/cran/cran_installed_repository.cc
@@ -597,6 +597,12 @@ CRANInstalledRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+CRANInstalledRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
CRANInstalledRepository::installed_root_key() const
{
return _imp->installed_root_key;
diff --git a/paludis/repositories/cran/cran_installed_repository.hh b/paludis/repositories/cran/cran_installed_repository.hh
index 92000ee..48caa82 100644
--- a/paludis/repositories/cran/cran_installed_repository.hh
+++ b/paludis/repositories/cran/cran_installed_repository.hh
@@ -137,6 +137,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
};
diff --git a/paludis/repositories/cran/cran_repository.cc b/paludis/repositories/cran/cran_repository.cc
index 09cae10..2fdf4d3 100644
--- a/paludis/repositories/cran/cran_repository.cc
+++ b/paludis/repositories/cran/cran_repository.cc
@@ -551,6 +551,12 @@ CRANRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+CRANRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
CRANRepository::installed_root_key() const
{
return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
diff --git a/paludis/repositories/cran/cran_repository.hh b/paludis/repositories/cran/cran_repository.hh
index 786627d..6a3da7a 100644
--- a/paludis/repositories/cran/cran_repository.hh
+++ b/paludis/repositories/cran/cran_repository.hh
@@ -133,6 +133,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
};
diff --git a/paludis/repositories/e/e_repository.cc b/paludis/repositories/e/e_repository.cc
index d5d9ee5..9faf41b 100644
--- a/paludis/repositories/e/e_repository.cc
+++ b/paludis/repositories/e/e_repository.cc
@@ -1426,6 +1426,12 @@ ERepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+ERepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
ERepository::installed_root_key() const
{
return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
diff --git a/paludis/repositories/e/e_repository.hh b/paludis/repositories/e/e_repository.hh
index c1ec7df..6ed3cd3 100644
--- a/paludis/repositories/e/e_repository.hh
+++ b/paludis/repositories/e/e_repository.hh
@@ -242,6 +242,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
virtual const std::tr1::shared_ptr<const MetadataCollectionKey<Set<std::string> > > info_vars_key() const;
diff --git a/paludis/repositories/e/exndbam_repository.cc b/paludis/repositories/e/exndbam_repository.cc
index c209618..4ef5b22 100644
--- a/paludis/repositories/e/exndbam_repository.cc
+++ b/paludis/repositories/e/exndbam_repository.cc
@@ -276,6 +276,12 @@ ExndbamRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+ExndbamRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
ExndbamRepository::installed_root_key() const
{
return _imp->root_key;
diff --git a/paludis/repositories/e/exndbam_repository.hh b/paludis/repositories/e/exndbam_repository.hh
index 005df94..7a77d9b 100644
--- a/paludis/repositories/e/exndbam_repository.hh
+++ b/paludis/repositories/e/exndbam_repository.hh
@@ -95,6 +95,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
///\name For use by ExndbamID
diff --git a/paludis/repositories/e/vdb_repository.cc b/paludis/repositories/e/vdb_repository.cc
index cf8c2d8..1c1d4b5 100644
--- a/paludis/repositories/e/vdb_repository.cc
+++ b/paludis/repositories/e/vdb_repository.cc
@@ -1016,6 +1016,12 @@ VDBRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+VDBRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
VDBRepository::installed_root_key() const
{
return _imp->root_key;
diff --git a/paludis/repositories/e/vdb_repository.hh b/paludis/repositories/e/vdb_repository.hh
index 47c6d64..6610b98 100644
--- a/paludis/repositories/e/vdb_repository.hh
+++ b/paludis/repositories/e/vdb_repository.hh
@@ -134,6 +134,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
///\name RepositoryFactory functions
diff --git a/paludis/repositories/fake/fake_installed_repository.cc b/paludis/repositories/fake/fake_installed_repository.cc
index 553ab36..6532012 100644
--- a/paludis/repositories/fake/fake_installed_repository.cc
+++ b/paludis/repositories/fake/fake_installed_repository.cc
@@ -200,6 +200,12 @@ FakeInstalledRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+FakeInstalledRepository::location_key() const
+{
+ return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
FakeInstalledRepository::installed_root_key() const
{
return _imp->installed_root_key;
diff --git a/paludis/repositories/fake/fake_installed_repository.hh b/paludis/repositories/fake/fake_installed_repository.hh
index f9575a1..4f3123e 100644
--- a/paludis/repositories/fake/fake_installed_repository.hh
+++ b/paludis/repositories/fake/fake_installed_repository.hh
@@ -70,6 +70,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
};
diff --git a/paludis/repositories/fake/fake_repository.cc b/paludis/repositories/fake/fake_repository.cc
index 73d0758..65779f8 100644
--- a/paludis/repositories/fake/fake_repository.cc
+++ b/paludis/repositories/fake/fake_repository.cc
@@ -206,6 +206,12 @@ FakeRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+FakeRepository::location_key() const
+{
+ return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
FakeRepository::installed_root_key() const
{
return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
diff --git a/paludis/repositories/fake/fake_repository.hh b/paludis/repositories/fake/fake_repository.hh
index 69d0d0a..0ad564c 100644
--- a/paludis/repositories/fake/fake_repository.hh
+++ b/paludis/repositories/fake/fake_repository.hh
@@ -75,6 +75,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
};
}
diff --git a/paludis/repositories/gems/gems_repository.cc b/paludis/repositories/gems/gems_repository.cc
index d704078..6ec4c24 100644
--- a/paludis/repositories/gems/gems_repository.cc
+++ b/paludis/repositories/gems/gems_repository.cc
@@ -352,6 +352,12 @@ GemsRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+GemsRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
GemsRepository::installed_root_key() const
{
return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
diff --git a/paludis/repositories/gems/gems_repository.hh b/paludis/repositories/gems/gems_repository.hh
index 48ac64d..e380e78 100644
--- a/paludis/repositories/gems/gems_repository.hh
+++ b/paludis/repositories/gems/gems_repository.hh
@@ -87,6 +87,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
///\name RepositoryFactory functions
diff --git a/paludis/repositories/gems/installed_gems_repository.cc b/paludis/repositories/gems/installed_gems_repository.cc
index da22e58..fda9d7d 100644
--- a/paludis/repositories/gems/installed_gems_repository.cc
+++ b/paludis/repositories/gems/installed_gems_repository.cc
@@ -368,6 +368,12 @@ InstalledGemsRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+InstalledGemsRepository::location_key() const
+{
+ return _imp->install_dir_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
InstalledGemsRepository::installed_root_key() const
{
return _imp->root_key;
diff --git a/paludis/repositories/gems/installed_gems_repository.hh b/paludis/repositories/gems/installed_gems_repository.hh
index d7f7cb1..2b7323e 100644
--- a/paludis/repositories/gems/installed_gems_repository.hh
+++ b/paludis/repositories/gems/installed_gems_repository.hh
@@ -102,6 +102,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
///\name RepositoryFactory functions
diff --git a/paludis/repositories/unavailable/unavailable_repository.cc b/paludis/repositories/unavailable/unavailable_repository.cc
index 5280cbd..bf3b624 100644
--- a/paludis/repositories/unavailable/unavailable_repository.cc
+++ b/paludis/repositories/unavailable/unavailable_repository.cc
@@ -136,6 +136,12 @@ UnavailableRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+UnavailableRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
UnavailableRepository::installed_root_key() const
{
return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
diff --git a/paludis/repositories/unavailable/unavailable_repository.hh b/paludis/repositories/unavailable/unavailable_repository.hh
index 7ac3fa1..2998196 100644
--- a/paludis/repositories/unavailable/unavailable_repository.hh
+++ b/paludis/repositories/unavailable/unavailable_repository.hh
@@ -75,6 +75,7 @@ namespace paludis
virtual bool can_be_favourite_repository() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
virtual bool has_category_named(const CategoryNamePart & c) const;
diff --git a/paludis/repositories/unpackaged/installed_repository.cc b/paludis/repositories/unpackaged/installed_repository.cc
index 9f3c719..cc4148c 100644
--- a/paludis/repositories/unpackaged/installed_repository.cc
+++ b/paludis/repositories/unpackaged/installed_repository.cc
@@ -476,6 +476,12 @@ InstalledUnpackagedRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+InstalledUnpackagedRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
InstalledUnpackagedRepository::installed_root_key() const
{
return _imp->root_key;
diff --git a/paludis/repositories/unpackaged/installed_repository.hh b/paludis/repositories/unpackaged/installed_repository.hh
index d16af38..af44040 100644
--- a/paludis/repositories/unpackaged/installed_repository.hh
+++ b/paludis/repositories/unpackaged/installed_repository.hh
@@ -99,6 +99,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
///\name RepositoryFactory functions
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.cc b/paludis/repositories/unpackaged/unpackaged_repository.cc
index 4896c80..afcd1cf 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.cc
+++ b/paludis/repositories/unpackaged/unpackaged_repository.cc
@@ -198,6 +198,12 @@ UnpackagedRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+UnpackagedRepository::location_key() const
+{
+ return _imp->location_key;
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
UnpackagedRepository::installed_root_key() const
{
return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.hh b/paludis/repositories/unpackaged/unpackaged_repository.hh
index 470967a..826cadc 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.hh
+++ b/paludis/repositories/unpackaged/unpackaged_repository.hh
@@ -104,6 +104,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
///\name RepositoryFactory functions
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.cc b/paludis/repositories/virtuals/installed_virtuals_repository.cc
index c402aff..f485d30 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.cc
+++ b/paludis/repositories/virtuals/installed_virtuals_repository.cc
@@ -322,6 +322,12 @@ InstalledVirtualsRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+InstalledVirtualsRepository::location_key() const
+{
+ return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
InstalledVirtualsRepository::installed_root_key() const
{
return _imp->root_key;
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.hh b/paludis/repositories/virtuals/installed_virtuals_repository.hh
index 93ba80a..b9f7ef9 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.hh
+++ b/paludis/repositories/virtuals/installed_virtuals_repository.hh
@@ -109,6 +109,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
};
}
diff --git a/paludis/repositories/virtuals/virtuals_repository.cc b/paludis/repositories/virtuals/virtuals_repository.cc
index addb771..b1521d3 100644
--- a/paludis/repositories/virtuals/virtuals_repository.cc
+++ b/paludis/repositories/virtuals/virtuals_repository.cc
@@ -420,6 +420,12 @@ VirtualsRepository::format_key() const
}
const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
+VirtualsRepository::location_key() const
+{
+ return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
+}
+
+const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >
VirtualsRepository::installed_root_key() const
{
return std::tr1::shared_ptr<const MetadataValueKey<FSEntry> >();
diff --git a/paludis/repositories/virtuals/virtuals_repository.hh b/paludis/repositories/virtuals/virtuals_repository.hh
index 5c67c78..ce7e26e 100644
--- a/paludis/repositories/virtuals/virtuals_repository.hh
+++ b/paludis/repositories/virtuals/virtuals_repository.hh
@@ -112,6 +112,7 @@ namespace paludis
/* Keys */
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const;
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const;
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > installed_root_key() const;
};
}
diff --git a/paludis/repository.hh b/paludis/repository.hh
index 0db0581..2e9a1e2 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -290,6 +290,13 @@ namespace paludis
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > format_key() const = 0;
/**
+ * The location_key, if non-zero, holds the file or directory containing
+ * our repository's data, the format of which depends on the value of
+ * format_key.
+ */
+ virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > location_key() const = 0;
+
+ /**
* The installed_root_key, if non-zero, specifies that we contain installed
* packages at the specified root.
*
diff --git a/ruby/repository.cc b/ruby/repository.cc
index c2a1eea..4ca03a3 100644
--- a/ruby/repository.cc
+++ b/ruby/repository.cc
@@ -994,6 +994,8 @@ namespace
rb_define_method(c_repository, "each_metadata", RUBY_FUNC_CAST(&repository_each_metadata), 0);
rb_define_method(c_repository, "format_key",
RUBY_FUNC_CAST((&RepositoryKey<MetadataValueKey<std::string> , &Repository::format_key>::fetch)), 0);
+ rb_define_method(c_repository, "location_key",
+ RUBY_FUNC_CAST((&RepositoryKey<MetadataValueKey<FSEntry>, &Repository::location_key>::fetch)), 0);
rb_define_method(c_repository, "installed_root_key",
RUBY_FUNC_CAST((&RepositoryKey<MetadataValueKey<FSEntry>, &Repository::installed_root_key>::fetch)), 0);
rb_define_method(c_repository, "get_environment_variable", RUBY_FUNC_CAST(&repository_get_environment_variable), 2);