示例#1
0
 public OfflineManager()
 {
     //No need to check for timeouts.
     Timeout = TimeSpan.MaxValue;
     _offlineStorageManager = new OfflineStorageManager();
     _pendingOfflineTasks   = new Dictionary <PlaylistItem, IList <OfflineTask> >();
 }
示例#2
0
        public void TakeOffline(IEnumerable <PlaylistItem> playlistItems, long spaceRequired, string playlistFilename)
        {
            var offlinePlaylist = new OfflinePlaylist();

            foreach (var playlistItem in playlistItems)
            {
                var playlistItemCopy = playlistItem.Clone();
                ConvertPlaylistItemToOffline(playlistItemCopy);
                offlinePlaylist.Add(playlistItemCopy);
            }

            _offlineStorageManager.SerializeItemToFile(offlinePlaylist, playlistFilename);
            OfflineStorageManager.EnsureSpaceAvailable(spaceRequired);
            playlistItems.ForEach(TakeOffline);
        }
示例#3
0
 public IEnumerable <PlaylistItem> ReadStoredPlaylist(string filename)
 {
     return(OfflineStorageManager.ReadSerializedItemFromFile <OfflinePlaylist>(filename));
 }