FLImaging 6.5.13.1
AuthorityManager.h
1#pragma once
2
11#include "FLArray.h"
12#include "FLString.h"
13
15namespace FLImaging
16{
18 namespace Base
19 {
28 enum EAuthorityLevel : uint32_t
29 {
32
35
38
41
44
47 };
48
49 class CAuthorityManagerInternal;
50
57 class FL_EXPORT CAuthorityManager
58 {
59 protected:
68
69 public:
78
88 static bool IsInitialized();
89
105 static const CResult Initialize(const wchar_t* pWcsDatabaseFileName, const wchar_t* pWcsRootKey);
106
118 static const CResult Terminate();
119
120
136 static const CResult LogIn(const wchar_t* pWcsUserID, const wchar_t* pWcsPassword);
137
149 static const CResult LogOut();
150
170 static const CResult RegisterUser(const wchar_t* pWcsUserID, const wchar_t* pWcsPassword, EAuthorityLevel eAuthorityLevel);
171
185 static const CResult UnregisterUser(const wchar_t* pWcsUserID);
186
204 static const CResult ChangeUserPassword(const wchar_t* pWcsUserID, const wchar_t* pWcsOriginalPassword, const wchar_t* pWcsPasswordToChange);
205
223 static const CResult ChangeUserAuthorityLevel(const wchar_t* pWcsUserID, EAuthorityLevel eAuthorityLevelToChange);
224
237
250
270 static const CResult GetUserList(CFLArray<CFLString<wchar_t>>& flaStrUserList, CFLArray<int32_t>* pFlaAuthorityLevelList = nullptr);
271
272 private:
273
274 static CAuthorityManager* GetObject();
275
276 CAuthorityManagerInternal& m_internal;
277 };
278 }
279}
Authority manager class.
Definition AuthorityManager.h:58
static const CResult Initialize(const wchar_t *pWcsDatabaseFileName, const wchar_t *pWcsRootKey)
Initialize.
static const CResult ChangeUserPassword(const wchar_t *pWcsUserID, const wchar_t *pWcsOriginalPassword, const wchar_t *pWcsPasswordToChange)
Change the user's password. (Enter an existing password when changing your ID, A level lower than you...
static const CResult RegisterUser(const wchar_t *pWcsUserID, const wchar_t *pWcsPassword, EAuthorityLevel eAuthorityLevel)
Register a user. (You can only register at a lower level than yourself.)
static const CResult GetUserList(CFLArray< CFLString< wchar_t > > &flaStrUserList, CFLArray< int32_t > *pFlaAuthorityLevelList=nullptr)
Obtain a list of users.
static bool IsInitialized()
Get initialization status.
static const CResult LogIn(const wchar_t *pWcsUserID, const wchar_t *pWcsPassword)
Log in.
virtual ~CAuthorityManager()
Destructor.
static const CResult LogOut()
Log out.
static const CResult UnregisterUser(const wchar_t *pWcsUserID)
Unregister a user. (You can only unregister at a lower level than yourself.)
static EAuthorityLevel GetAuthorityLevel()
Obtain authority levels.
static CFLString< wchar_t > GetUserID()
Obtain a user ID.
static const CResult ChangeUserAuthorityLevel(const wchar_t *pWcsUserID, EAuthorityLevel eAuthorityLevelToChange)
Change the authority level of the user. (You can only change at a lower level than yourself....
static const CResult Terminate()
Terminate.
Template type array class.
Definition RangeTree.h:19
Template type string class.
Definition INIUtilities.h:20
FLImaging module execution result object.
Definition ResultsDef.h:1514
EAuthorityLevel
Authority level.
Definition AuthorityManager.h:29
@ EAuthorityLevel_Root
Definition AuthorityManager.h:46
@ EAuthorityLevel_Developer
Definition AuthorityManager.h:43
@ EAuthorityLevel_None
Definition AuthorityManager.h:31
@ EAuthorityLevel_User
Definition AuthorityManager.h:34
@ EAuthorityLevel_Administrator
Definition AuthorityManager.h:40
@ EAuthorityLevel_PowerUser
Definition AuthorityManager.h:37