private void OnEngineStateChanged(object sender, EngineStateChangeArgs e) { switch (e.NewState) { case EngineState.Idle: this.CurrentState = PartnershipState.Idle; switch (e.OldState) { case EngineState.Cancelling: this.FireSyncStopped(SyncStoppedReason.Cancelled); return; case EngineState.Aborting: this.FireSyncStopped(SyncStoppedReason.Aborted); return; case EngineState.Paused: return; case EngineState.Completing: this.FireSyncStopped(SyncStoppedReason.Completed); return; } return; case EngineState.PreparingSync: this.CurrentState = PartnershipState.PreparingSync; this.attemptedSyncOperations.Clear(); this.successfulSyncOperations.Clear(); this.successfulAcquiredOperations.Clear(); this.isFirstSync = !this.ZmdbProvider.SyncedItemCacheExists(); this.UnlockForSyncing(); return; case EngineState.Syncing: this.CurrentState = PartnershipState.Syncing; this.UnlockForSyncing(); return; case EngineState.Cancelling: if ((e.SyncResult == null) || (e.SyncResult.ResultCode != 0x83002113)) { this.CurrentState = PartnershipState.CancelingSync; break; } this.CurrentState = PartnershipState.CancelingSync; if (this.PartnershipClient != null) { this.PartnershipClient.OnDeviceLocked(this); } break; case EngineState.Aborting: case EngineState.Completing: case EngineState.ShuttingDown: return; case EngineState.Paused: this.CurrentState = PartnershipState.Idle; return; default: return; } this.UnlockForSyncing(); }
private void OnEngineStateChanged(object sender, EngineStateChangeArgs e) { switch (e.NewState) { case EngineState.Idle: this.CurrentState = PartnershipState.Idle; switch (e.OldState) { case EngineState.Cancelling: this.FireSyncStopped(SyncStoppedReason.Cancelled); return; case EngineState.Aborting: this.FireSyncStopped(SyncStoppedReason.Aborted); return; case EngineState.Paused: return; case EngineState.Completing: this.FireSyncStopped(SyncStoppedReason.Completed); return; } return; case EngineState.PreparingSync: this.CurrentState = PartnershipState.PreparingSync; this.attemptedSyncOperations.Clear(); this.successfulSyncOperations.Clear(); this.successfulAcquiredOperations.Clear(); this.isFirstSync = !this.ZmdbProvider.SyncedItemCacheExists(); this.UnlockForSyncing(); return; case EngineState.Syncing: this.CurrentState = PartnershipState.Syncing; this.UnlockForSyncing(); return; case EngineState.Cancelling: if ((e.SyncResult == null) || (e.SyncResult.ResultCode != 0x83002113)) { this.CurrentState = PartnershipState.CancelingSync; break; } this.CurrentState = PartnershipState.CancelingSync; if (this.PartnershipClient != null) { this.PartnershipClient.OnDeviceLocked(this); } break; case EngineState.Aborting: case EngineState.Completing: case EngineState.ShuttingDown: return; case EngineState.Paused: this.CurrentState = PartnershipState.Idle; return; default: return; } this.UnlockForSyncing(); }