forked from bartsidee/boxee
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BoxeeLoginManager.h
63 lines (45 loc) · 1.58 KB
/
BoxeeLoginManager.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef BOXEELOGINMANAGER_H_
#define BOXEELOGINMANAGER_H_
#include "lib/libBoxee/boxee.h"
#include "lib/libBoxee/bxobject.h"
#include <SDL/SDL.h>
#define NEW_USER_PROFILE_ID -100
class CBoxeeLoginStatusTypes
{
public:
enum BoxeeLoginStatusEnums
{
LS_OK=0,
LS_ERROR=1,
LS_CREDENTIALS_ERROR=2,
LS_NETWORK_ERROR=3,
NUM_OF_LS=4
};
};
class CBoxeeLoginManager
{
public:
CBoxeeLoginManager();
virtual ~CBoxeeLoginManager();
bool Login();
bool Logout();
void SetInChangeUserProcess(bool inChangeUserProcess);
bool IsInChangeUserProcess();
void FinishSuccessfulLogin();
static void SetProxyCreds(BOXEE::BXCredentials &creds);
int CreateProfile(const CStdString& username, const BOXEE::BXObject& userObj);
void UpdateProfile(int profileId, const CStdString& password, bool rememberPassword);
static bool DoesThisUserAlreadyExist(const CStdString& username);
static CStdString EncodePassword(CStdString password);
static BOXEE::BXLoginStatus DoLogin(const CStdString& username, const CStdString& password, bool rememberPassword, int profileId = NEW_USER_PROFILE_ID);
private:
static const char* CBoxeeLoginStatusEnumAsString(CBoxeeLoginStatusTypes::BoxeeLoginStatusEnums boxeeLoginStatusEnum);
CBoxeeLoginStatusTypes::BoxeeLoginStatusEnums DoAutoLogin();
CBoxeeLoginStatusTypes::BoxeeLoginStatusEnums DoUserLogin(int iItem);
bool canTryAutoLogin();
bool PostLoginActions();
void HandleUpdateOnLogin();
bool DoesThisUserAlreadyExist(CStdString& Username);
bool m_inChangeUserProcess;
};
#endif /*BOXEELOGINMANAGER_H_*/