public void CheckMails() { TaskChainHandler handler = delegate() { return(CheckMailsAsync()); }; AddTaskToChain(handler); }
public void UpdateAccount(IAccountSource account, bool silent) { TaskChainHandler handler = delegate() { return(UpdateAccountAsync(account, silent)); }; AddTaskToChain(handler); }
public void AddLabel(IAccountSource source, string label) { TaskChainHandler handler = delegate() { return(AddLabelAsync(source, label)); }; AddTaskToChain(handler); }
public void UpdateAccounts(bool silent) { TaskChainHandler handler = delegate() { return(UpdateAccountsAsync(silent)); }; AddTaskToChain(handler); }
public void RemoveAccount(ISourceInfo source) { TaskChainHandler handler = delegate() { return(RemoveAccountInternal(source)); }; AddTaskToChain(handler); }
public void RemoveLabel(ILabelSource label) { TaskChainHandler handler = delegate() { return(RemoveLabelAsync(label)); }; AddTaskToChain(handler); }
public void DeleteMail(IEnumerable <ViewMailItem> items) { TaskChainHandler handler = delegate() { return(DeleteMailAsync(items)); }; SetDeleting(items); AddTaskToChain(handler); }
public async Task RemoveAccountWait(ISourceInfo source) { TaskChainHandler handler = delegate() { return(RemoveAccountInternal(source)); }; TaskCompletionSource <object> waitfor = new TaskCompletionSource <object>(); AddTaskToChain(handler, waitfor); await waitfor.Task; }
void AddTaskToChain(TaskChainHandler task, TaskCompletionSource <object> completion_token = null) { mTaskChain.Enqueue(new TaskItem() { Handler = task, Completion = completion_token }); if (mTaskChainProcessor == null || mTaskChainProcessor.IsFaulted || mTaskChainProcessor.IsCompleted) { mTaskChainProcessor = TaskChainProcessor(); } }
public async Task CheckMailsWait() { TaskChainHandler handler = delegate() { return(CheckMailsAsync()); }; TaskCompletionSource <object> waitfor = new TaskCompletionSource <object>(); AddTaskToChain(handler, waitfor); await waitfor.Task; }
public async Task UpdateAccountWait(IAccountSource account, bool silent) { TaskChainHandler handler = delegate() { return(UpdateAccountAsync(account, silent)); }; TaskCompletionSource <object> waitfor = new TaskCompletionSource <object>(); AddTaskToChain(handler, waitfor); await waitfor.Task; }
public async Task AddLabelWait(IAccountSource source, string label) { TaskChainHandler handler = delegate() { return(AddLabelAsync(source, label)); }; TaskCompletionSource <object> waitfor = new TaskCompletionSource <object>(); AddTaskToChain(handler, waitfor); await waitfor.Task; }
public async Task RemoveLabelWait(ILabelSource label) { TaskChainHandler handler = delegate() { return(RemoveLabelAsync(label)); }; TaskCompletionSource <object> waitfor = new TaskCompletionSource <object>(); AddTaskToChain(handler, waitfor); await waitfor.Task; }
public async Task DeleteMailWait(IEnumerable <ViewMailItem> items) { TaskChainHandler handler = delegate() { return(DeleteMailAsync(items)); }; SetDeleting(items); TaskCompletionSource <object> waitfor = new TaskCompletionSource <object>(); AddTaskToChain(handler, waitfor); await waitfor.Task; }
public void SaveMailMetaData(params ViewMailItem[] items) { List <ViewMailItem> itemlist = GetUpdatedItems(items); if (itemlist == null) { return; } TaskChainHandler handler = delegate() { return(SaveMailMetaDataAsync(items)); }; AddTaskToChain(handler); }
public void Init() { InfoCache = new UserInfoCache(this); mAccountDB.Load(); foreach (var i in mAccountDB.Accounts) { Account account = new Account(this, i); mAccounts.Add(account); mViewAccounts.Add(account.ViewAccount); if (account.DBAccount.Permissions.HasFlag(Auth.AccessFlag.MailSend)) { mSendAccounts.Add(account.ViewAccount); } } List <DraftMessageSource> loaded_drafts = new List <DraftMessageSource>(); foreach (var i in mAccountDB.Drafts) { DraftMessageSource source = new DraftMessageSource(this, i); if (source.Account == null) { continue; } mDrafts.Add(source); loaded_drafts.Add(source); } TaskChainHandler load_draft_ids = async delegate() { foreach (var i in loaded_drafts) { await EntityLookupAsync.LookupIDs(i.Recipients); } }; AddTaskToChain(load_draft_ids); }
public async Task SaveMailMetaDataWait(params ViewMailItem[] items) { List <ViewMailItem> itemlist = GetUpdatedItems(items); if (itemlist == null) { return; } TaskChainHandler handler = delegate() { return(SaveMailMetaDataAsync(items)); }; TaskCompletionSource <object> waitfor = new TaskCompletionSource <object>(); AddTaskToChain(handler, waitfor); await waitfor.Task; }