Пример #1
0
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);
	}
}