#include "repoList.h" #include "repo.h" #include #include #include #include #include #include #include #include #include GitFS::RepoList::RepoList(Ice::PropertiesPtr && p) : properties(std::move(p)) { } AdHocFormatter(RepoPropertyName, "GitFS.%?.%?"); NetFS::VolumePrxPtr GitFS::RepoList::connect(const ::std::string volume, const ::std::string auth, const ::Ice::Current & ice) { if (volume.empty()) { throw NetFS::ConfigError(); } const auto propReader = [volume, this](auto n) { return properties->getProperty(RepoPropertyName::get(volume, n)); }; if (propReader("gitdir").empty()) { throw NetFS::ConfigError(); } if (propReader("authkey") != auth) { throw NetFS::AuthError(); } return Ice::uncheckedCast(ice.adapter->addWithUUID(std::make_shared(propReader))); }