Beispiel #1
0
        public ActionResult Index()
        {
            var host     = new Uri(Request.GetEncodedUrl()).GetLeftPart(UriPartial.Authority);
            var emulator = new EmulatorModel
            {
                OpenUrl     = $"bfemulator://livechat?botUrl={host}/api/messages",
                DownloadUrl = "https://github.com/microsoft/BotFramework-Emulator/releases"
            };

            //return new RedirectResult($"bfemulator://livechat?botUrl={host}/api/messages");
            return(View(emulator));
        }
Beispiel #2
0
        /// <summary>
        /// Builds a EmulatorModel for every rom
        /// </summary>
        public static EmulatorModel[] GetEmulatorInformationFromDisk(string rootEmuDirectory)
        {
            EmulatorModel[] models = null;
            try
            {
                models = new EmulatorModel[EnumerateEmulators(rootEmuDirectory)];
            }
            catch (DirectoryNotFoundException ex)
            {
                DebugManager.ShowErrorDialog("An error occured getting the emulator directory", ex);
                return(models);
            }

            string[] emulatorConsoleAssociations = new EmuManagerModel().EmulatorAssociations.Split(';');

            int i = 0;

            foreach (string association in emulatorConsoleAssociations)
            {
                try
                {
                    // EX association: PS1:ePSXe.exe
                    string emulator = association.Split(':')[1];

                    string[] files = System.IO.Directory.GetFiles(rootEmuDirectory, emulator, SearchOption.AllDirectories);
                    foreach (string file in files)
                    {
                        EmulatorModel model = new EmulatorModel();
                        model.BinaryPath = file;
                        model.Console    = association.Split(':')[0];

                        models[i] = model;
                        i++;
                    }
                }
                catch (NullReferenceException)
                {
                    // This would mean an improperly formatted emulator association was present if hit
                    continue;
                }
                catch (IOException)
                {
                    // This would mean the emulator directory was set incorrectly or unreadable
                    continue;
                }
            }

            return(models);
        }