public static bool List(string command, IntPtr streamHandle, IntPtr eventHandle)
{
try {
if (streamHandle != IntPtr.Zero) {
using (var stream = new Native.Stream(new Native.switch_stream_handle(streamHandle, false))) {
stream.Write("Available APIs:\n");
getApiExecs().Values.ForEach(x => stream.Write(string.Format("{0}: {1}\n", x.Name, String.Join(",", x.Aliases.ToArray()))));
stream.Write("Available Apps:\n");
getAppExecs().Values.ForEach(x => stream.Write(string.Format("{0}: {1}\n", x.Name, String.Join(",", x.Aliases.ToArray()))));
}
} else {
Log.WriteLine(LogLevel.Info, "Available APIs:");
getApiExecs().Values.ForEach(x => Log.WriteLine(LogLevel.Info, "{0}: {1}", x.Name, String.Join(",", x.Aliases.ToArray())));
Log.WriteLine(LogLevel.Info, "Available Apps:");
getAppExecs().Values.ForEach(x => Log.WriteLine(LogLevel.Info, "{0}: {1}", x.Name, String.Join(",", x.Aliases.ToArray())));
}
return true;
} catch (Exception ex) {
Log.WriteLine(LogLevel.Error, "Exception listing managed modules: {0}", ex.ToString());
return false;
}
}