1module conclave_launcher 2 3enum ConclaveLauncherFailure: UInt32 { 4 case MissingConclave = 1 5 case ConclaveNotRunning = 2 6} 7 8enum ConclaveStatus : UInt32 { 9 case Running = 1 10 case Exited = 2 11 case Crashed = 3 12 case Killed = 4 13 case NotBooted = 5 14} 15 16enum ConclaveStopReason: UInt32 { 17 case Exit = 1 18 case Killed = 2 19 case Jetsammed = 3 20 case Shutdown = 4 21} 22 23struct ConclaveDebugInfo { 24 // let exclaveInfo : ExclaveInfo 25 let conclaveUUID : [UInt8 * 16] 26} 27 28 29service ConclaveControl { 30 /// Launch a conclave 31 /// - Returns status of conclave after launch 32 func launch() throws ConclaveLauncherFailure -> ConclaveStatus 33 34 /// Stop a conclave 35 /// - Parameter reason: Reason for stopping conclave 36 /// - Parameter onHostThread: Whether we are on the host thread 37 /// - Returns Status of the conclave after stop 38 func stop(_ reason: ConclaveStopReason, _ onHostThread: Bool) throws ConclaveLauncherFailure -> ConclaveStatus 39 40 41 /// Get status of a conclave 42 /// - Returns Status of the conclave 43 func status() throws ConclaveLauncherFailure -> ConclaveStatus 44} 45 46service ConclaveDebug { 47 /// Get debug information for a conclave 48 /// - Returns Debug information for the conclave 49 func debugInfo() throws ConclaveLauncherFailure -> ConclaveDebugInfo 50} 51