1 // Copyright 2001-2018 Crytek GmbH / Crytek Group. All rights reserved.
3 // -------------------------------------------------------------------------
4 // File name: CrySignIn.h
6 // Created: 09/11/2011 by Paul Mikell.
7 // Description: CCrySignIn class definition
8 // -------------------------------------------------------------------------
11 ////////////////////////////////////////////////////////////////////////////
13 #ifndef __CRYSIGNIN_H__
15 #define __CRYSIGNIN_H__
22 #include <CryLobby/ICrySignIn.h>
24 #define MAX_SIGNIN_PARAMS 10
25 #define MAX_SIGNIN_TASKS 4
27 class CCrySignIn
: public CMultiThreadRefCount
, public ICrySignIn
31 virtual ~CCrySignIn();
34 virtual void CancelTask(CryLobbyTaskID lTaskID
);
37 // CWorkQueue::CClassJob*< ..., class U >::U
38 virtual bool IsDead() const { return false; }
39 // ~CWorkQueue::CClassJob*< ..., class U >::U
41 virtual ECryLobbyError
Initialise();
42 virtual ECryLobbyError
Terminate();
43 virtual void Tick(CTimeValue tv
);
53 eT_CreateAndSignInUser
,
59 CryLobbyTaskID lTaskID
;
65 TMemHdl paramsMem
[MAX_SIGNIN_PARAMS
];
66 uint32 paramsNum
[MAX_SIGNIN_PARAMS
];
72 struct SCrySignInTaskID
{};
73 typedef CryLobbyID
<SCrySignInTaskID
, MAX_SIGNIN_TASKS
> CrySignInTaskID
;
74 typedef CryLobbyIDArray
<STask
*, CrySignInTaskID
, MAX_SIGNIN_TASKS
> CrySignInTaskPtrArray
;
76 CCrySignIn(CCryLobby
* pLobby
, CCryLobbyService
* pService
);
78 virtual void StartTaskRunning(CrySignInTaskID siTaskID
);
79 virtual void StopTaskRunning(CrySignInTaskID siTaskID
);
80 virtual void EndTask(CrySignInTaskID siTaskID
);
82 ECryLobbyError
StartTask(uint32 eTask
, CrySignInTaskID
* pSITaskID
, CryLobbyTaskID
* pLTaskID
, void* pCb
, void* pCbArg
);
84 virtual void FreeTask(CrySignInTaskID siTaskID
);
85 ECryLobbyError
CreateTaskParamMem(CrySignInTaskID siTaskID
, uint32 param
, const void* pParamData
, size_t paramDataSize
);
86 void UpdateTaskError(CrySignInTaskID siTaskID
, ECryLobbyError error
);
87 virtual void CreateTask(CrySignInTaskID siTaskID
, uint32 eTask
, CryLobbyTaskID lTaskID
, void* pCb
, void* pCbArg
);
89 CrySignInTaskPtrArray m_pTask
;
91 CCryLobbyService
* m_pService
;
95 virtual void ClearTask(CrySignInTaskID siTaskID
);
98 #endif //__CRYSIGNIN_H__