public void processCommand(IQueueCommand pCmd) { SyncCommand oSyncCmd = (SyncCommand) pCmd; switch (oSyncCmd.m_nCmdCode) { case scSyncAll: checkShowStatus(oSyncCmd); m_oSyncEngine.doSyncAllSources(); break; case scSyncOne: { checkShowStatus(oSyncCmd); m_oSyncEngine.doSyncSource( new SyncEngine.SourceID(oSyncCmd.m_nCmdParam, oSyncCmd.m_strCmdParam)); } break; case scSearchOne: { checkShowStatus(oSyncCmd); m_oSyncEngine.doSearch( ((SyncSearchCommand) oSyncCmd).m_arSources, oSyncCmd.m_strCmdParam, ((SyncSearchCommand) oSyncCmd).m_strFrom, ((SyncSearchCommand) oSyncCmd).m_bSyncChanges, oSyncCmd.m_nCmdParam); } break; case scLogin: { SyncLoginCommand oLoginCmd = (SyncLoginCommand) oSyncCmd; checkShowStatus(oSyncCmd); m_oSyncEngine.login(oLoginCmd.m_strName, oLoginCmd.m_strPassword, oLoginCmd.m_pNotify); } break; } }