summaryrefslogtreecommitdiff
path: root/src/client/Client.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-24 20:19:19 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-24 20:19:19 (GMT)
commit97b35bc47059315d4138c8e0827842d2c03de152 (patch)
treefeaf7a8c018982ba9d7ca1b8e6e15294abfdfc84 /src/client/Client.cpp
parent04488081d3fa0cd3dfb2939e5d902bc894df150d (diff)
downloadpowder-97b35bc47059315d4138c8e0827842d2c03de152.zip
powder-97b35bc47059315d4138c8e0827842d2c03de152.tar.gz
Various
Diffstat (limited to 'src/client/Client.cpp')
-rw-r--r--src/client/Client.cpp37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/client/Client.cpp b/src/client/Client.cpp
index c2e82ea..94c3dbc 100644
--- a/src/client/Client.cpp
+++ b/src/client/Client.cpp
@@ -20,7 +20,7 @@
Client::Client()
{
int i = 0;
- http_init(NULL);
+ http_init("wwwcache.lancs.ac.uk:8080");
for(i = 0; i < THUMB_CACHE_SIZE; i++)
{
thumbnailCache[i] = NULL;
@@ -39,6 +39,41 @@ Client::~Client()
http_done();
}
+LoginStatus Client::Login(string username, string password)
+{
+ std::stringstream urlStream;
+ char * data;
+ int dataStatus, dataLength;
+ data = http_auth_get("http://" SERVER "/Login.json", (char*)username.c_str(), (char*)password.c_str(), NULL, &dataStatus, &dataLength);
+ std::cout << data << std::endl;
+ if(dataStatus == 200 && data)
+ {
+ std::istringstream dataStream(data);
+ json::Object objDocument;
+ json::Reader::Read(objDocument, dataStream);
+ json::Number tempStatus = objDocument["Status"];
+
+ free(data);
+ if(tempStatus.Value() == 1)
+ {
+ return LoginOkay;
+ }
+ else if(tempStatus.Value() == 0)
+ {
+ return LoginPasswordInvalid;
+ }
+ else
+ {
+ return LoginError;
+ }
+ }
+ if(data)
+ {
+ free(data);
+ }
+ return LoginError;
+}
+
Save * Client::GetSave(int saveID, int saveDate)
{
lastError = "";