diff options
Diffstat (limited to 'src/client/Client.cpp')
| -rw-r--r-- | src/client/Client.cpp | 37 |
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 = ""; |
