public static HolodeckLocations ProbeForHolodeckInstance(string holodeckPath) { bool Probe(string probePath, out HolodeckLocations location) { string holodeckExecutable = Path.Combine(probePath, $@"{holodeckPath}\bin\startserver.bat"); if (File.Exists(holodeckExecutable) == false) { location = null; return(false); } location = new HolodeckLocations(Path.Combine(probePath, holodeckPath)); return(true); } HolodeckLocations probedLocation; if (Probe(@"c:\holodeck", out probedLocation)) { return(probedLocation); } if (Probe(@"C:\Program Files\Java\holodeck", out probedLocation)) { return(probedLocation); } if (Probe(@"C:\Program Files (x86)\Java\holodeck", out probedLocation)) { return(probedLocation); } return(null); }
static Holodeck() { HolodeckALocations = HolodeckLocations.ProbeForHolodeckInstance("holodeck-b2b-A"); HolodeckBLocations = HolodeckLocations.ProbeForHolodeckInstance("holodeck-b2b-B"); }