Friendslist gets automatically fetched after signing in. And some general bugfixes.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/uni@13507 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
parent
c758ecbe43
commit
ea7d42c1b8
@ -147,7 +147,9 @@ namespace Online{
|
|||||||
UserConfigParams::m_saved_token = getToken();
|
UserConfigParams::m_saved_token = getToken();
|
||||||
UserConfigParams::m_saved_session = true;
|
UserConfigParams::m_saved_session = true;
|
||||||
}
|
}
|
||||||
ProfileManager::get()->addToCache(new Profile(CurrentUser::get()->getID(), CurrentUser::get()->getUserName(), false));
|
ProfileManager::get()->addToCache(m_profile);
|
||||||
|
m_profile->fetchFriends();
|
||||||
|
HTTPManager::get()->startPolling();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
setUserState (US_SIGNED_OUT);
|
setUserState (US_SIGNED_OUT);
|
||||||
@ -211,6 +213,7 @@ namespace Online{
|
|||||||
UserConfigParams::m_saved_user = 0;
|
UserConfigParams::m_saved_user = 0;
|
||||||
UserConfigParams::m_saved_token = "";
|
UserConfigParams::m_saved_token = "";
|
||||||
UserConfigParams::m_saved_session = false;
|
UserConfigParams::m_saved_session = false;
|
||||||
|
HTTPManager::get()->startPolling();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CurrentUser::SignOutRequest::callback()
|
void CurrentUser::SignOutRequest::callback()
|
||||||
|
@ -80,6 +80,7 @@ namespace Online{
|
|||||||
pthread_cond_init(&m_cond_request, NULL);
|
pthread_cond_init(&m_cond_request, NULL);
|
||||||
m_abort.setAtomic(false);
|
m_abort.setAtomic(false);
|
||||||
m_time_since_poll = 0.0f;
|
m_time_since_poll = 0.0f;
|
||||||
|
m_polling = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@ -206,7 +207,6 @@ namespace Online{
|
|||||||
me->m_request_queue.getData().pop();
|
me->m_request_queue.getData().pop();
|
||||||
me->m_request_queue.unlock();
|
me->m_request_queue.unlock();
|
||||||
me->m_current_request->execute();
|
me->m_current_request->execute();
|
||||||
me->m_current_request->callback();
|
|
||||||
me->addResult(me->m_current_request);
|
me->addResult(me->m_current_request);
|
||||||
me->m_request_queue.lock();
|
me->m_request_queue.lock();
|
||||||
} // while
|
} // while
|
||||||
|
@ -49,6 +49,7 @@ namespace Online{
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
float m_time_since_poll;
|
float m_time_since_poll;
|
||||||
|
bool m_polling;
|
||||||
|
|
||||||
/** The current requested being worked on. */
|
/** The current requested being worked on. */
|
||||||
Online::Request * m_current_request;
|
Online::Request * m_current_request;
|
||||||
@ -88,6 +89,9 @@ namespace Online{
|
|||||||
static void deallocate();
|
static void deallocate();
|
||||||
static bool isRunning();
|
static bool isRunning();
|
||||||
|
|
||||||
|
void startPolling(){ m_polling = true; }
|
||||||
|
void stopPolling(){ m_polling = false; }
|
||||||
|
|
||||||
//Execute
|
//Execute
|
||||||
std::string getPage(Online::Request * request);
|
std::string getPage(Online::Request * request);
|
||||||
XMLNode * getXMLFromPage(Online::Request * request);
|
XMLNode * getXMLFromPage(Online::Request * request);
|
||||||
|
@ -104,7 +104,7 @@ namespace Online{
|
|||||||
curl_easy_setopt(m_curl_session, CURLOPT_HTTPHEADER, chunk);
|
curl_easy_setopt(m_curl_session, CURLOPT_HTTPHEADER, chunk);
|
||||||
curl_easy_setopt(m_curl_session, CURLOPT_CAINFO, (file_manager->getDataDir() + "web.tuxfamily.org.pem").c_str());
|
curl_easy_setopt(m_curl_session, CURLOPT_CAINFO, (file_manager->getDataDir() + "web.tuxfamily.org.pem").c_str());
|
||||||
curl_easy_setopt(m_curl_session, CURLOPT_SSL_VERIFYPEER, 0L);
|
curl_easy_setopt(m_curl_session, CURLOPT_SSL_VERIFYPEER, 0L);
|
||||||
curl_easy_setopt(m_curl_session, CURLOPT_VERBOSE, 1L);
|
//curl_easy_setopt(m_curl_session, CURLOPT_VERBOSE, 1L);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HTTPRequest::operation()
|
void HTTPRequest::operation()
|
||||||
|
@ -63,7 +63,6 @@ OnlineScreen::OnlineScreen() : Screen("online/main.stkgui")
|
|||||||
|
|
||||||
OnlineScreen::~OnlineScreen()
|
OnlineScreen::~OnlineScreen()
|
||||||
{
|
{
|
||||||
m_requests.clearAndDeleteAll();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -166,28 +165,6 @@ void OnlineScreen::onUpdate(float delta, irr::video::IVideoDriver* driver)
|
|||||||
{
|
{
|
||||||
m_online_status_widget->setText(Messages::signingOut(), false);
|
m_online_status_widget->setText(Messages::signingOut(), false);
|
||||||
}
|
}
|
||||||
for(int i = m_requests.size()-1; i>=0; --i)
|
|
||||||
{
|
|
||||||
if(m_requests[i].isDone())
|
|
||||||
{
|
|
||||||
if(m_requests[i].getType() == CurrentUser::RT_SIGN_IN)
|
|
||||||
{
|
|
||||||
if(m_requests[i].isSuccess())
|
|
||||||
{
|
|
||||||
new MessageDialog(_("Signed in."));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sfx_manager->quickSound( "anvil" );
|
|
||||||
new MessageDialog(m_requests[i].getInfo());
|
|
||||||
}
|
|
||||||
}else if(m_requests[i].getType() == CurrentUser::RT_SIGN_OUT)
|
|
||||||
{
|
|
||||||
new MessageDialog(_("Signed out successfully."));
|
|
||||||
}
|
|
||||||
m_requests.erase(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} // onUpdate
|
} // onUpdate
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@ -55,8 +55,6 @@ private:
|
|||||||
|
|
||||||
Online::CurrentUser::UserState m_recorded_state;
|
Online::CurrentUser::UserState m_recorded_state;
|
||||||
|
|
||||||
PtrVector<const Online::XMLRequest> m_requests;
|
|
||||||
|
|
||||||
/** \brief Checks if the recorded state differs from the actual state and sets it. */
|
/** \brief Checks if the recorded state differs from the actual state and sets it. */
|
||||||
bool hasStateChanged();
|
bool hasStateChanged();
|
||||||
/** \brief Sets which widget has to be focused. Depends on the user state. */
|
/** \brief Sets which widget has to be focused. Depends on the user state. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user