예제 #1
0
        /// <summary>
        /// Adds the video details as a new 'Additional App' to the given game.
        /// </summary>
        /// <param name="game">The game entry.</param>
        /// <returns>The Additional App entry.</returns>
        public IAdditionalApplication AddVideoToGame(IGame game)
        {
            var app = game.AddNewAdditionalApplication();

            app.Name            = TitleWithPrefix;
            app.ApplicationPath = VlcUtilities.GetVlcExecutablePath();
            app.CommandLine     = GetVlcCmdArguments();
            return(app);
        }
예제 #2
0
        /// <summary>
        /// Verifies if an 'additional app' is properly set up with all the expected arguments.
        /// </summary>
        /// <param name="app">The Additional App entry.</param>
        public static bool IsAppCorrectlySetup(IAdditionalApplication app)
        {
            if (app.ApplicationPath != VlcUtilities.GetVlcExecutablePath())
            {
                return(false);
            }

            // Checking if the app's command line string is missing any of the VLC arguments expected by our plugin
            foreach (var expectedArg in _commonVlcArguments)
            {
                if (!app.CommandLine.Contains(expectedArg))
                {
                    return(false);
                }
            }

            return(true);
        }
예제 #3
0
        public void CanImportAndExportAppDetails()
        {
            var additionalAppDummy = new AdditionalApplicationMock
            {
                ApplicationPath = VlcUtilities.GetVlcExecutablePath(),
                Name            = "Video: Presentation",
                CommandLine     = "-f --start-time=337 --stop-time=387 https://youtu.be/q_7KUC6CY6Q"
            };

            var gameMock = Substitute.For <IGame>();

            gameMock.AddNewAdditionalApplication().Returns(new AdditionalApplicationMock());

            var video = new GameVideo(additionalAppDummy);

            var exportedApp = video.AddVideoToGame(gameMock);

            Assert.Equal(additionalAppDummy.ApplicationPath, exportedApp.ApplicationPath);
            Assert.Equal(additionalAppDummy.Name, exportedApp.Name);
            Assert.Equal("-f --play-and-exit --start-time=337 --stop-time=387 https://youtu.be/q_7KUC6CY6Q",
                         exportedApp.CommandLine);
        }
예제 #4
0
 /// <summary>
 /// This method updates an existing Additional App with the current video details.
 /// </summary>
 /// <param name="additionalApplication"></param>
 public void UpdateExistingApp(IAdditionalApplication additionalApplication)
 {
     additionalApplication.Name            = TitleWithPrefix;
     additionalApplication.ApplicationPath = VlcUtilities.GetVlcExecutablePath();
     additionalApplication.CommandLine     = GetVlcCmdArguments();
 }