#pragma once ///@file #include "types.hh" namespace nix { class Store; struct Machine { const std::string storeUri; const std::set systemTypes; const std::string sshKey; const unsigned int maxJobs; const unsigned int speedFactor; const std::set supportedFeatures; const std::set mandatoryFeatures; const std::string sshPublicHostKey; bool enabled = true; bool allSupported(const std::set & features) const; bool mandatoryMet(const std::set & features) const; Machine(decltype(storeUri) storeUri, decltype(systemTypes) systemTypes, decltype(sshKey) sshKey, decltype(maxJobs) maxJobs, decltype(speedFactor) speedFactor, decltype(supportedFeatures) supportedFeatures, decltype(mandatoryFeatures) mandatoryFeatures, decltype(sshPublicHostKey) sshPublicHostKey); ref openStore() const; }; typedef std::vector Machines; void parseMachines(const std::string & s, Machines & machines); Machines getMachines(); }