summaryrefslogtreecommitdiff
path: root/src/client/Client.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-03-10 18:08:34 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-03-10 18:08:34 (GMT)
commite6bca489c9aae88f1c7bbb44c4e2df71f481cbd3 (patch)
tree6781e70afdc32c0322cce0062d523edfbdebae8a /src/client/Client.cpp
parent6090f0b0aaf302612f363cd3d85408e3b7d1150b (diff)
downloadpowder-e6bca489c9aae88f1c7bbb44c4e2df71f481cbd3.zip
powder-e6bca489c9aae88f1c7bbb44c4e2df71f481cbd3.tar.gz
AvatarButton/holder, rename ThumbnailBroker for more general purposes
Diffstat (limited to 'src/client/Client.cpp')
-rw-r--r--src/client/Client.cpp28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/client/Client.cpp b/src/client/Client.cpp
index 4c13850..97251e0 100644
--- a/src/client/Client.cpp
+++ b/src/client/Client.cpp
@@ -42,7 +42,7 @@
#include "search/Thumbnail.h"
#include "preview/Comment.h"
#include "ClientListener.h"
-#include "ThumbnailBroker.h"
+#include "RequestBroker.h"
#include "cajun/reader.h"
#include "cajun/writer.h"
@@ -617,7 +617,7 @@ std::vector<std::pair<std::string, std::string> > Client::GetServerNotifications
void Client::Tick()
{
//Check thumbnail queue
- ThumbnailBroker::Ref().FlushThumbQueue();
+ RequestBroker::Ref().FlushThumbQueue();
//Check status on version check request
if(versionCheckRequest && http_async_req_status(versionCheckRequest))
@@ -809,7 +809,7 @@ void Client::WritePrefs()
void Client::Shutdown()
{
- ThumbnailBroker::Ref().Shutdown();
+ RequestBroker::Ref().Shutdown();
ClearThumbnailRequests();
http_done();
@@ -1150,6 +1150,28 @@ std::vector<unsigned char> Client::GetSaveData(int saveID, int saveDate)
return saveData;
}
+VideoBuffer * Client::GetAvatar(std::string username)
+{
+ lastError = "";
+ int dataStatus;
+ int dataLength = 0;
+ unsigned char * data;
+ std::stringstream urlStream;
+ urlStream << "http://" << STATICSERVER << "/avatars/" << username << ".pti";
+
+ data = (unsigned char *)http_simple_get((char *)urlStream.str().c_str(), &dataStatus, &dataLength);
+ if(data && dataStatus == 200)
+ {
+ std::vector<char> responseData(data, data+dataLength);
+ return format::PTIToVideoBuffer(responseData);
+ }
+ else if(data)
+ {
+ free(data);
+ }
+ return NULL;
+}
+
LoginStatus Client::Login(std::string username, std::string password, User & user)
{
lastError = "";