public override void Start() { try { // Get the workspace, if possible. Kws = Wm.GetKwsByInternalIDOrThrow(KwsID); // If the task is delete remotely, start a delete remotely // operation. if (Task == KwsTask.DeleteRemotely) { m_deleteRemotelyOp = new KwsCoreOpDeleteKwsRemotely(); m_deleteRemotelyOp.Kws = Kws; m_deleteRemotelyOp.OnCompletion += OnDeleteRemotelyCompletion; m_deleteRemotelyOp.Start(); } // Perform the task switch right away. else { Kws.Sm.RequestTaskSwitch(Task); } } catch (Exception ex) { HandleFailure(ex); } }
protected override void CleanUp() { if (m_deleteRemotelyOp != null) { m_deleteRemotelyOp.OnCompletion -= OnDeleteRemotelyCompletion; m_deleteRemotelyOp.Cancel(); m_deleteRemotelyOp = null; } ; }
protected override void CleanUp() { if (m_deleteRemotelyOp != null) { m_deleteRemotelyOp.OnCompletion -= OnDeleteRemotelyCompletion; m_deleteRemotelyOp.Cancel(); m_deleteRemotelyOp = null; }; }