module conclave_launcher enum ConclaveLauncherFailure: UInt32 { case MissingConclave = 1 case ConclaveNotRunning = 2 } enum ConclaveStatus : UInt32 { case Running = 1 case Exited = 2 case Crashed = 3 case Killed = 4 case NotBooted = 5 } enum ConclaveStopReason: UInt32 { case Exit = 1 case Killed = 2 case Jetsammed = 3 case Shutdown = 4 } struct ConclaveDebugInfo { // let exclaveInfo : ExclaveInfo let conclaveUUID : [UInt8 * 16] } service ConclaveControl { /// Launch a conclave /// - Returns status of conclave after launch func launch() throws ConclaveLauncherFailure -> ConclaveStatus /// Stop a conclave /// - Parameter reason: Reason for stopping conclave /// - Parameter onHostThread: Whether we are on the host thread /// - Returns Status of the conclave after stop func stop(_ reason: ConclaveStopReason, _ onHostThread: Bool) throws ConclaveLauncherFailure -> ConclaveStatus /// Get status of a conclave /// - Returns Status of the conclave func status() throws ConclaveLauncherFailure -> ConclaveStatus } service ConclaveDebug { /// Get debug information for a conclave /// - Returns Debug information for the conclave func debugInfo() throws ConclaveLauncherFailure -> ConclaveDebugInfo }