TEST(ActivityTest, TestAdopt) { MockActivityService mockActivityService; MockBusClient serviceClient; MojInt32 activityId = 1; ActivityPtr activity = Activity::PrepareAdoptedActivity(activityId); ASSERT_TRUE( activity->CanAdopt() ); activity->Adopt(serviceClient); ASSERT_TRUE( !activity->CanAdopt() ); // Check adopt response MockRequestPtr req = serviceClient.GetLastRequest(); CheckRequest(req, "com.palm.activitymanager", "adopt"); ASSERT_EQ( activityId, GetActivityId(req->GetPayload()) ); // Reply to adopt mockActivityService.HandleRequest(req); ASSERT_TRUE( activity->IsActive() ); activity->Complete(serviceClient); }
UpdateAccountCommand::UpdateAccountCommand(ImapClient& client, ActivityPtr activity, bool credentialsChanged) : ImapClientCommand(client), m_activitySet(new ActivitySet(client)), m_credentialsChanged(credentialsChanged), m_getAccountTransportSlot(this, &UpdateAccountCommand::GetAccountTransportResponse), m_updateFolderActivitiesSlot(this, &UpdateAccountCommand::UpdateFolderActivitiesDone), m_endActivitiesSlot(this, &UpdateAccountCommand::ActivitiesEnded), m_notifySmtpSlot(this, &UpdateAccountCommand::NotifySmtpResponse) { // FIXME wait for adoption to complete // EndActivities will wait for us, but it's not as polite if(activity.get() && activity->CanAdopt()) { m_activitySet->AddActivity(activity); activity->Adopt(client); activity->SetEndOrder(Activity::EndOrder_Last); } }