public OfflineManager() { //No need to check for timeouts. Timeout = TimeSpan.MaxValue; _offlineStorageManager = new OfflineStorageManager(); _pendingOfflineTasks = new Dictionary <PlaylistItem, IList <OfflineTask> >(); }
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); }
public IEnumerable <PlaylistItem> ReadStoredPlaylist(string filename) { return(OfflineStorageManager.ReadSerializedItemFromFile <OfflinePlaylist>(filename)); }