コード例 #1
0
 public MockMagpie(string validUrl, IDebuggingInfoLogger infoLogger = null, IAnalyticsLogger analyticsLogger = null)
     : base(new AppInfo(validUrl), infoLogger, analyticsLogger)
 {
     _remoteContentDownloader = Substitute.For <IRemoteContentDownloader>();
     _remoteContentDownloader.DownloadStringContent(validUrl, Arg.Any <IDebuggingInfoLogger>()).Returns(Task.FromResult(VALID_JSON));
     RemoteContentDownloader = _remoteContentDownloader;
 }
コード例 #2
0
 internal DownloadWindowViewModel(AppInfo appInfo, IDebuggingInfoLogger logger,
                                  IRemoteContentDownloader contentDownloader)
 {
     AppIconPath        = appInfo.AppIconPath;
     _logger            = logger;
     _contentDownloader = contentDownloader;
 }
コード例 #3
0
ファイル: MagpieService.cs プロジェクト: nagyistoce/Magpie
 public MagpieService(AppInfo appInfo, IDebuggingInfoLogger debuggingInfoLogger = null)
 {
     _appInfo = appInfo;
     _logger = debuggingInfoLogger ?? new DebuggingWindowViewModel();
     RemoteContentDownloader = new DefaultRemoteContentDownloader();
     UpdateDecider = new UpdateDecider(_logger);
 }
コード例 #4
0
ファイル: MockMagpieUpdater.cs プロジェクト: pquerna/Magpie
 public MockMagpieUpdater(string validUrl, IDebuggingInfoLogger infoLogger = null) : base(new AppInfo(validUrl), infoLogger)
 {
     var validJson = VALID_JSON.Replace("'", "\"");
     _remoteContentDownloader = Substitute.For<IRemoteContentDownloader>();
     _remoteContentDownloader.DownloadStringContent(validUrl).Returns(Task.FromResult(validJson));
     base.RemoteContentDownloader = _remoteContentDownloader;
 }
コード例 #5
0
ファイル: MainWindowViewModel.cs プロジェクト: pquerna/Magpie
 public MainWindowViewModel(AppInfo appInfo, IDebuggingInfoLogger logger, IRemoteContentDownloader contentDownloader, IAnalyticsLogger analyticsLogger)
 {
     AppIconPath = appInfo.AppIconPath;
     _logger = logger;
     _contentDownloader = contentDownloader;
     _analyticsLogger = analyticsLogger;
 }
コード例 #6
0
ファイル: MainWindowViewModel.cs プロジェクト: windygu/Magpie
 public MainWindowViewModel(AppInfo appInfo, IDebuggingInfoLogger logger, IRemoteContentDownloader contentDownloader, IAnalyticsLogger analyticsLogger)
 {
     AppIconPath        = appInfo.AppIconPath;
     _logger            = logger;
     _contentDownloader = contentDownloader;
     _analyticsLogger   = analyticsLogger;
 }
コード例 #7
0
        public MockMagpieUpdater(string validUrl, IDebuggingInfoLogger infoLogger = null) : base(new AppInfo(validUrl), infoLogger)
        {
            var validJson = VALID_JSON.Replace("'", "\"");

            _remoteContentDownloader = Substitute.For <IRemoteContentDownloader>();
            _remoteContentDownloader.DownloadStringContent(validUrl).Returns(Task.FromResult(validJson));
            base.RemoteContentDownloader = _remoteContentDownloader;
        }
コード例 #8
0
 public MagpieUpdater(AppInfo appInfo, IDebuggingInfoLogger debuggingInfoLogger = null, IAnalyticsLogger analyticsLogger = null)
 {
     _appInfo                = appInfo;
     _logger                 = debuggingInfoLogger ?? new DebuggingWindowViewModel();
     _analyticsLogger        = analyticsLogger ?? new AnalyticsLogger();
     RemoteContentDownloader = new DefaultRemoteContentDownloader();
     UpdateDecider           = new UpdateDecider(_logger);
 }
コード例 #9
0
 public MockMainWindowViewModel(AppInfo appInfo, IDebuggingInfoLogger logger,
                                IRemoteContentDownloader contentDownloader, IAnalyticsLogger analyticsLogger)
     : base(appInfo, logger, contentDownloader, analyticsLogger)
 {
     DownloadNowCommand     = new DelegateCommand(message => analyticsLogger.LogDownloadNow());
     SkipThisVersionCommand = new DelegateCommand(message => analyticsLogger.LogUserSkipsUpdate(new Channel()));
     RemindMeLaterCommand   = new DelegateCommand(message => analyticsLogger.LogRemindMeLater());
 }
コード例 #10
0
ファイル: MagpieUpdater.cs プロジェクト: pquerna/Magpie
 public MagpieUpdater(AppInfo appInfo, IDebuggingInfoLogger debuggingInfoLogger = null, IAnalyticsLogger analyticsLogger = null)
 {
     _appInfo = appInfo;
     _logger = debuggingInfoLogger ?? new DebuggingWindowViewModel();
     _analyticsLogger = analyticsLogger ?? new AnalyticsLogger();
     RemoteContentDownloader = new DefaultRemoteContentDownloader();
     UpdateDecider = new UpdateDecider(_logger);
 }
コード例 #11
0
 public async Task <string> DownloadStringContent(string url, IDebuggingInfoLogger logger = null)
 {
     try
     {
         using (var client = new WebClient())
         {
             return(await client.DownloadStringTaskAsync(new Uri(url)).ConfigureAwait(false));
         }
     }
     catch (Exception e)
     {
         if (logger != null)
         {
             logger.Log(e.Message);
         }
         return(string.Empty);
     }
 }
コード例 #12
0
        public async Task <string> DownloadFile(string sourceUrl, string destinationPath, Action <int> onProgressChanged, IDebuggingInfoLogger logger = null)
        {
            try
            {
                using (var client = new WebClient())
                {
                    client.DownloadProgressChanged += (s, e) => onProgressChanged(e.ProgressPercentage);
                    var uri = new Uri(sourceUrl);
                    await client.DownloadFileTaskAsync(uri, destinationPath).ConfigureAwait(false);

                    return(destinationPath);
                }
            }
            catch (Exception e)
            {
                if (logger != null)
                {
                    logger.Log(e.Message);
                }
                return(string.Empty);
            }
        }
コード例 #13
0
ファイル: MainWindow.xaml.cs プロジェクト: randianb/Magpie
 public ExampleMagpie(AppInfo appInfo, IDebuggingInfoLogger debuggingInfoLogger = null, IAnalyticsLogger analyticsLogger = null)
     : base(appInfo, debuggingInfoLogger, analyticsLogger)
 {
 }
コード例 #14
0
 internal DownloadWindowViewModel(AppInfo appInfo, IDebuggingInfoLogger logger, IRemoteContentDownloader contentDownloader)
 {
     AppIconPath = appInfo.AppIconPath;
     _logger = logger;
     _contentDownloader = contentDownloader;
 }
コード例 #15
0
ファイル: UpdateDecider.cs プロジェクト: pquerna/Magpie
 public UpdateDecider(IDebuggingInfoLogger debuggingInfoLogger)
 {
     _logger = debuggingInfoLogger;
     _registryIO = new RegistryIO();
 }
コード例 #16
0
 public BestChannelFinder(IDebuggingInfoLogger logger)
 {
     _logger = logger;
 }
コード例 #17
0
ファイル: UpdateDecider.cs プロジェクト: windygu/Magpie
 public UpdateDecider(IDebuggingInfoLogger debuggingInfoLogger)
 {
     _logger     = debuggingInfoLogger;
     _registryIO = new RegistryIO();
 }
コード例 #18
0
ファイル: UpdateDecider.cs プロジェクト: randianb/Magpie
 internal UpdateDecider(IDebuggingInfoLogger debuggingInfoLogger, RegistryIO registryIO)
 {
     _logger     = debuggingInfoLogger;
     _registryIO = registryIO ?? new RegistryIO();
 }
コード例 #19
0
ファイル: UpdateDecider.cs プロジェクト: randianb/Magpie
 public UpdateDecider(IDebuggingInfoLogger debuggingInfoLogger) : this(debuggingInfoLogger, new RegistryIO())
 {
 }
コード例 #20
0
 public MockMainWindowViewModel(AppInfo appInfo, IDebuggingInfoLogger logger, IRemoteContentDownloader contentDownloader, IAnalyticsLogger analyticsLogger) : base(appInfo, logger, contentDownloader, analyticsLogger)
 {
     DownloadNowCommand = new DelegateCommand(message=> analyticsLogger.LogDownloadNow());
     SkipThisVersionCommand = new DelegateCommand(message => analyticsLogger.LogSkipThisVersion());
     RemindMeLaterCommand = new DelegateCommand(message => analyticsLogger.LogRemindMeLater());
 }