xref: /haiku/headers/os/package/User.h (revision 1e60bdeab63fa7a57bc9a55b032052e95a18bd2c)
1 /*
2  * Copyright 2013, Haiku, Inc.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _PACKAGE__USER_H_
6 #define _PACKAGE__USER_H_
7 
8 
9 #include <String.h>
10 #include <StringList.h>
11 
12 
13 namespace BPackageKit {
14 
15 
16 namespace BHPKG {
17 	struct BUserData;
18 }
19 
20 
21 class BUser {
22 public:
23 								BUser();
24 								BUser(const BHPKG::BUserData& userData);
25 								BUser(const BString& name,
26 									const BString& realName,
27 									const BString& home, const BString& shell,
28 									const BStringList& groups);
29 								~BUser();
30 
31 			status_t			InitCheck() const;
32 
33 			const BString&		Name() const;
34 			const BString&		RealName() const;
35 			const BString&		Home() const;
36 			const BString&		Shell() const;
37 			const BStringList&	Groups() const;
38 
39 			status_t			SetTo(const BString& name,
40 									const BString& realName,
41 									const BString& home, const BString& shell,
42 									const BStringList& groups);
43 
44 	static	bool				IsValidUserName(const char* name);
45 
46 private:
47 			BString				fName;
48 			BString				fRealName;
49 			BString				fHome;
50 			BString				fShell;
51 			BStringList			fGroups;
52 };
53 
54 
55 }	// namespace BPackageKit
56 
57 
58 #endif	// _PACKAGE__USER_H_
59