public virtual ShutdownMethod getShutdownMethod() { ParsedDescription p = parseDescription(); if (p.ShutdownType.HasValue) { switch (parseDescription().ShutdownType.Value) { case ParsedDescription.ShutdownTypeEnum.SaveState: return(new SaveStateMethod()); case ParsedDescription.ShutdownTypeEnum.ACPIShutdown: return(new ServiceAwareACPIShutdownMethod(this)); case ParsedDescription.ShutdownTypeEnum.HardOff: return(new HardOffMethod()); default: throw new InvalidOperationException("ShutdownMethod could not be matched"); } } else { return(DEFAULT_SHUTDOWNMETHOD); } }
public virtual bool getAutoBoot() { ParsedDescription p = parseDescription(); if (p.Autostart.HasValue) { return(p.Autostart.Value); } else { return(DEFAULT_AUTOBOOT); } }
public virtual int getACPIShutdownTimeoutMilliSeconds() { ParsedDescription p = parseDescription(); if (p.ACPIShutdownTimeout.HasValue) { return(p.ACPIShutdownTimeout.Value); } else { return(DEFAULT_ACPI_SHUTDOWN_TIMEOUT); } }
private ParsedDescription parseDescription() { try { return(ParsedDescription.Parse(_proxy.getDescription())); } catch (InvalidDataException) { //_log.TraceEvent(TraceEventType.Verbose, (int)VirtualBoxService.Logging.MachineControllerEventIds.DescriptionNotParsable, "Description could not be parsed: {0} \n\nUsing Defaults.", ida.ToString()); return(new ParsedDescription()); } catch (Exception ex) { _log.TraceEvent(TraceEventType.Verbose, (int)VirtualBoxService.Logging.MachineControllerEventIds.DescriptionNotParsable, "Description could not be parsed: {0} \n\nUsing Defaults.", ex.ToString()); return(new ParsedDescription()); } }
public static ParsedDescription Parse(string rawDescription) { Regex virtualboxServiceTagRE = new Regex(VIRTUAL_BOX_SERVICE_OPEN_TAG + @"(?<json>[\w\s{}\[\]:,""]+)" + VIRTUAL_BOX_SERVICE_CLOSING_TAG); if (virtualboxServiceTagRE.IsMatch(rawDescription)) { //VirtualBoxService-Tag found --> Parse JSON and set Values Match virtualBoxServiceTag = virtualboxServiceTagRE.Match(rawDescription); string json = virtualBoxServiceTag.Groups["json"].Value; JSONRepresentation parsed = JSONHelper.Deserialize <JSONRepresentation>(json); parsed.Description = rawDescription.Substring(0, virtualBoxServiceTag.Index); return(parsed); } else { //Service-Tag not found -> no Autostart, etc ParsedDescription d = new ParsedDescription(); d.Autostart = false; return(d); } }
public virtual string getRealDescription() { ParsedDescription p = parseDescription(); return(p.Description); }