1 #include "serverinfo_user_container.h"
2
3 #include "pb/serverinfo_user.pb.h"
4
ServerInfo_User_Container(ServerInfo_User * _userInfo)5 ServerInfo_User_Container::ServerInfo_User_Container(ServerInfo_User *_userInfo) : userInfo(_userInfo)
6 {
7 }
8
ServerInfo_User_Container(const ServerInfo_User & _userInfo)9 ServerInfo_User_Container::ServerInfo_User_Container(const ServerInfo_User &_userInfo)
10 : userInfo(new ServerInfo_User(_userInfo))
11 {
12 }
13
ServerInfo_User_Container(const ServerInfo_User_Container & other)14 ServerInfo_User_Container::ServerInfo_User_Container(const ServerInfo_User_Container &other)
15 {
16 if (other.userInfo)
17 userInfo = new ServerInfo_User(*other.userInfo);
18 else
19 userInfo = 0;
20 }
21
~ServerInfo_User_Container()22 ServerInfo_User_Container::~ServerInfo_User_Container()
23 {
24 delete userInfo;
25 }
26
setUserInfo(const ServerInfo_User & _userInfo)27 void ServerInfo_User_Container::setUserInfo(const ServerInfo_User &_userInfo)
28 {
29 userInfo = new ServerInfo_User(_userInfo);
30 }
31
copyUserInfo(ServerInfo_User & result,bool complete,bool internalInfo,bool sessionInfo) const32 ServerInfo_User &ServerInfo_User_Container::copyUserInfo(ServerInfo_User &result,
33 bool complete,
34 bool internalInfo,
35 bool sessionInfo) const
36 {
37 if (userInfo) {
38 result.CopyFrom(*userInfo);
39 if (!sessionInfo) {
40 result.clear_session_id();
41 result.clear_address();
42 result.clear_clientid();
43 }
44 if (!internalInfo) {
45 result.clear_id();
46 result.clear_email();
47 }
48 if (!complete)
49 result.clear_avatar_bmp();
50 }
51 return result;
52 }
53
copyUserInfo(bool complete,bool internalInfo,bool sessionInfo) const54 ServerInfo_User ServerInfo_User_Container::copyUserInfo(bool complete, bool internalInfo, bool sessionInfo) const
55 {
56 ServerInfo_User result;
57 return copyUserInfo(result, complete, internalInfo, sessionInfo);
58 }
59