Exemplo n.º 1
0
 public PersistingImageQueue(IPersistence persistence,
                             IImageQueueSerializer imageQueueSerializer,
                             IImageQueue queue,
                             ILogger logger)
 {
     _persistence          = persistence;
     _imageQueueSerializer = imageQueueSerializer;
     _queue  = queue;
     _logger = logger.ForContext <PersistingImageQueue>();
 }
Exemplo n.º 2
0
 public PersistingImageQueueTests()
 {
     _enqueuedImageIds = new[]
     {
         CreateImageId("1"),
         CreateImageId("2"),
         CreateImageId("3")
     };
     _innerQueue = A.Fake <IImageQueue>();
     A.CallTo(() => _innerQueue.QueuedImageIds).Returns(_enqueuedImageIds);
     _persistence = A.Fake <IPersistence>();
     _serializer  = A.Fake <IImageQueueSerializer>();
     A.CallTo(() => _serializer.Serialize(A <IEnumerable <SourceQualifiedImageId> > .That.IsSameSequenceAs(_enqueuedImageIds))).Returns(EnqueuedImageIdsJson);
     _sut = new PersistingImageQueue(_persistence, _serializer, _innerQueue, A.Fake <ILogger>());
 }
Exemplo n.º 3
0
 public void UpdateWallpaperFrom(IImageQueue imageQueue)
 {
     _wallpaperUpdateSubscriptions.Add(Observable
                                       .Interval(TimeSpan.FromSeconds(10)) // TODO: Make this a configurable setting
                                       .SelectMany(i => Observable.FromAsync(_ => imageQueue.Dequeue()))
                                       .SelectMany(o => Observable.FromAsync(_ => o
                                                                             .Map(async i =>
     {
         _logger.Information("Setting wallpaper to {ImageId} from source {SourceId}", i.Id.ImageId.Value, i.Id.SourceId.Value);
         await _wallpaperEnvironment.SetWallpaper(i.Id.SourceId.Value, i.Id.ImageId.Value, _logger);
         _logger.Information("Wallpaper set to {ImageId} from source {SourceId}", i.Id.ImageId.Value, i.Id.SourceId.Value);
     })
                                                                             .ValueOr(TaskConstants.Completed)))
                                       .Subscribe());
 }
Exemplo n.º 4
0
 public ImageQueueModule(IImageQueue imageQueue) : base("/imageQueue")
 {
     Get["/images"] = _ => imageQueue.QueuedImageIds.Select(id => new ImageIdViewModel(id));
 }