public void UpdateStatus(cStatus pStatus, cTrace.cContext pParentContext) { var lContext = pParentContext.NewMethod(nameof(cMailboxCacheItem), nameof(UpdateStatus), pStatus); if (pStatus == null) { throw new ArgumentNullException(nameof(pStatus)); } mStatus = cStatus.Combine(mStatus, pStatus); }
public static cStatus Combine(cStatus pOld, cStatus pNew) { if (pNew == null) { throw new ArgumentNullException(nameof(pNew)); } if (pOld == null) { return(pNew); } return (new cStatus ( pNew.Sequence, pNew.Messages ?? pOld.Messages, pNew.Recent ?? pOld.Recent, pNew.UIDNext ?? pOld.UIDNext, pNew.UIDValidity ?? pOld.UIDValidity, pNew.Unseen ?? pOld.Unseen, pNew.HighestModSeq ?? pOld.HighestModSeq )); }
public void ResetExists(cTrace.cContext pParentContext) { var lContext = pParentContext.NewMethod(nameof(cMailboxCacheItem), nameof(ResetExists)); fMailboxProperties lProperties; if (mExists == true) { lProperties = fMailboxProperties.exists; } else { lProperties = 0; } mExists = false; mListFlags = null; mStatus = null; mMailboxStatus = null; mSelectedProperties = cMailboxSelectedProperties.NeverBeenSelected; mSynchroniser.InvokeMailboxPropertiesChanged(this, lProperties, lContext); }
public void ClearStatus(cTrace.cContext pParentContext) { var lContext = pParentContext.NewMethod(nameof(cMailboxCacheItem), nameof(ClearStatus)); mStatus = null; }