public static List<SyncOptions> GetSyncOptions(SyncCategory category) { List<SyncOptions> options = new List<SyncOptions>(); options.Add(SyncOptions.Quality); options.Add(SyncOptions.UnwatchedOnly); options.Add(SyncOptions.SyncNewContent); options.Add(SyncOptions.ItemLimit); return options; }
private async Task <IEnumerable <BaseItem> > GetItemsForSync(SyncCategory category, string parentId, User user) { var parent = string.IsNullOrWhiteSpace(parentId) ? user.RootFolder : (Folder)_libraryManager.GetItemById(parentId); InternalItemsQuery query; switch (category) { case SyncCategory.Latest: query = new InternalItemsQuery { IsFolder = false, SortBy = new[] { ItemSortBy.DateCreated, ItemSortBy.SortName }, SortOrder = SortOrder.Descending, Recursive = true }; break; case SyncCategory.Resume: query = new InternalItemsQuery { IsFolder = false, SortBy = new[] { ItemSortBy.DatePlayed, ItemSortBy.SortName }, SortOrder = SortOrder.Descending, Recursive = true, IsResumable = true, MediaTypes = new[] { MediaType.Video } }; break; case SyncCategory.NextUp: return(_tvSeriesManager.GetNextUp(new NextUpQuery { ParentId = parentId, UserId = user.Id.ToString("N") }).Items); default: throw new ArgumentException("Unrecognized category: " + category); } if (parent == null) { return(new List <BaseItem>()); } query.User = user; var result = await parent.GetItems(query).ConfigureAwait(false); return(result.Items); }
public static List <SyncJobOption> GetSyncOptions(SyncCategory category) { List <SyncJobOption> options = new List <SyncJobOption>(); options.Add(SyncJobOption.Quality); options.Add(SyncJobOption.Profile); options.Add(SyncJobOption.UnwatchedOnly); options.Add(SyncJobOption.SyncNewContent); options.Add(SyncJobOption.ItemLimit); return(options); }
public static List <SyncOptions> GetSyncOptions(SyncCategory category) { List <SyncOptions> options = new List <SyncOptions>(); options.Add(SyncOptions.Name); options.Add(SyncOptions.Quality); options.Add(SyncOptions.UnwatchedOnly); options.Add(SyncOptions.SyncNewContent); options.Add(SyncOptions.ItemLimit); return(options); }
public static List<SyncJobOption> GetSyncOptions(SyncCategory category) { List<SyncJobOption> options = new List<SyncJobOption>(); options.Add(SyncJobOption.Quality); options.Add(SyncJobOption.Profile); options.Add(SyncJobOption.UnwatchedOnly); options.Add(SyncJobOption.SyncNewContent); options.Add(SyncJobOption.ItemLimit); return options; }
public DetailsBackedSchemaSyncGroup( SyncGroupList list, SyncRulesView view, SyncCategory type, bool inOverfill) : base(list, type) { this._view = view; this._index = -1; this._inOverfill = inOverfill; this._resortTimer = new Timer(this); this._resortTimer.AutoRepeat = false; this._resortTimer.Tick += new EventHandler(this.OnResortTimerTick); this._resortTimer.Interval = 527; this._masterList = new System.Collections.Generic.List <SyncGroup>(); this._sortedList = new System.Collections.Generic.List <SyncGroup>(); this._active = true; }
public async Task<IEnumerable<BaseItem>> GetItemsForSync(SyncCategory? category, string parentId, IEnumerable<string> itemIds, User user, bool unwatchedOnly) { var items = category.HasValue ? await GetItemsForSync(category.Value, parentId, user).ConfigureAwait(false) : itemIds.SelectMany(i => GetItemsForSync(i, user)) .Where(_syncManager.SupportsSync); if (unwatchedOnly) { // Avoid implicitly captured closure var currentUser = user; items = items.Where(i => { var video = i as Video; if (video != null) { return !video.IsPlayed(currentUser); } return true; }); } return items.DistinctBy(i => i.Id); }
public void send_reportContacts(long syncOpRevision, SyncCategory category, List<ContactReport> contactReports, SyncActionType actionType) #endif { oprot_.WriteMessageBegin(new TMessage("reportContacts", TMessageType.Call, seqid_)); reportContacts_args args = new reportContacts_args(); args.SyncOpRevision = syncOpRevision; args.Category = category; args.ContactReports = contactReports; args.ActionType = actionType; args.Write(oprot_); oprot_.WriteMessageEnd(); #if SILVERLIGHT return oprot_.Transport.BeginFlush(callback, state); #else oprot_.Transport.Flush(); #endif }
public IAsyncResult send_reportContacts(AsyncCallback callback, object state, long syncOpRevision, SyncCategory category, List<ContactReport> contactReports, SyncActionType actionType)
public List<ContactReportResult> reportContacts(long syncOpRevision, SyncCategory category, List<ContactReport> contactReports, SyncActionType actionType) { #if !SILVERLIGHT send_reportContacts(syncOpRevision, category, contactReports, actionType); return recv_reportContacts(); #else var asyncResult = Begin_reportContacts(null, null, syncOpRevision, category, contactReports, actionType); return End_reportContacts(asyncResult); #endif }
public void send_report(long syncOpRevision, SyncCategory category, string report) #endif { oprot_.WriteMessageBegin(new TMessage("report", TMessageType.Call, seqid_)); report_args args = new report_args(); args.SyncOpRevision = syncOpRevision; args.Category = category; args.Report = report; args.Write(oprot_); oprot_.WriteMessageEnd(); #if SILVERLIGHT return oprot_.Transport.BeginFlush(callback, state); #else oprot_.Transport.Flush(); #endif }
public IAsyncResult send_report(AsyncCallback callback, object state, long syncOpRevision, SyncCategory category, string report)
public void report(long syncOpRevision, SyncCategory category, string report) { #if !SILVERLIGHT send_report(syncOpRevision, category, report); recv_report(); #else var asyncResult = Begin_report(null, null, syncOpRevision, category, report); End_report(asyncResult); #endif }
public IAsyncResult Begin_report(AsyncCallback callback, object state, long syncOpRevision, SyncCategory category, string report) { return send_report(callback, state, syncOpRevision, category, report); }
public SchemaSyncGroup(SyncGroupList list, SyncCategory type) : base(list) => this._type = type;
private async Task<IEnumerable<BaseItem>> GetItemsForSync(SyncCategory category, string parentId, User user) { var parent = string.IsNullOrWhiteSpace(parentId) ? user.RootFolder : (Folder)_libraryManager.GetItemById(parentId); InternalItemsQuery query; switch (category) { case SyncCategory.Latest: query = new InternalItemsQuery { IsFolder = false, SortBy = new[] { ItemSortBy.DateCreated, ItemSortBy.SortName }, SortOrder = SortOrder.Descending, Recursive = true }; break; case SyncCategory.Resume: query = new InternalItemsQuery { IsFolder = false, SortBy = new[] { ItemSortBy.DatePlayed, ItemSortBy.SortName }, SortOrder = SortOrder.Descending, Recursive = true, IsResumable = true, MediaTypes = new[] { MediaType.Video } }; break; case SyncCategory.NextUp: return _tvSeriesManager.GetNextUp(new NextUpQuery { ParentId = parentId, UserId = user.Id.ToString("N") }).Items; default: throw new ArgumentException("Unrecognized category: " + category); } query.User = user; var result = await parent.GetItems(query).ConfigureAwait(false); return result.Items; }
public IAsyncResult Begin_reportContacts(AsyncCallback callback, object state, long syncOpRevision, SyncCategory category, List<ContactReport> contactReports, SyncActionType actionType) { return send_reportContacts(callback, state, syncOpRevision, category, contactReports, actionType); }
public async Task<IEnumerable<BaseItem>> GetItemsForSync(SyncCategory? category, string parentId, IEnumerable<string> itemIds, User user, bool unwatchedOnly) { var list = new List<BaseItem>(); if (category.HasValue) { list = (await GetItemsForSync(category.Value, parentId, user).ConfigureAwait(false)).ToList(); } else { foreach (var itemId in itemIds) { var subList = await GetItemsForSync(itemId, user).ConfigureAwait(false); list.AddRange(subList); } } IEnumerable<BaseItem> items = list; items = items.Where(_syncManager.SupportsSync); if (unwatchedOnly) { // Avoid implicitly captured closure var currentUser = user; items = items.Where(i => { var video = i as Video; if (video != null) { return !video.IsPlayed(currentUser); } return true; }); } return items.DistinctBy(i => i.Id); }