summaryrefslogtreecommitdiff
path: root/src/client/Client.cpp
diff options
context:
space:
mode:
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 = "";