void ContactAsyncQueue::AddAndRemovePreviousConsiderParam(int waitTime, HANDLE hContact, void *param) { Lock(); RemoveAllConsiderParam(hContact, param); InternalAdd(waitTime, hContact, param); Release(); }
/** * This method removes all existing queue items for the contact with the same parameter as @e param * and adds a new queue item for the given contact. This method might be used to move an existing * entry, whose check_time has changed. * * @param waitTime - the time to wait until the callback is desired to run * @param hContact - the contact to perform the action for * @param param - a caller defined parameter passed to the callback function * * @retval TRUE - The item is added to the queue successfully. * @retval FALSE - The item is not added to the queue. **/ BOOL CContactQueue::AddUniqueConsiderParam(int waitTime, HANDLE hContact, PVOID param) { BOOL rc; Lock(); RemoveAllConsiderParam(hContact, param); rc = InternalAdd(waitTime, hContact, param); Release(); return rc; }