GameRC (IRC Server)  1.0.0
C++98 기반 IRC 서버 프로젝트
로딩중...
검색중...
일치하는것 없음
User.hpp
이 파일의 문서화 페이지로 가기
1/**
2 * @file User.hpp
3 * @author Taeil-Nam (nam0314@gmail.com)
4 * @brief User 클래스 정의 헤더 파일.
5 * @version 0.1
6 * @date 2024-03-27
7 *
8 * @copyright Copyright (c) 2024
9 *
10 */
11
12#pragma once
13
14#include "../../common.hpp"
15
16using namespace gdf;
17
18namespace grc
19{
20
21/**
22 * @class User
23 * @brief IRC에서 생성되는 User 객체를 정의하는 클래스.
24 */
25class User
26{
27public:
28 /**
29 * @brief User 객체의 기본 생성자.
30 *
31 * 객체가 생성될 때, 모든 멤버 변수들을 초기화한다.
32 */
33 User();
34 /**
35 * @brief User 객체의 복사 대입 연산자.
36 *
37 * 현재 객체에 매개 변수로 받은 User의 값을 전부 복사한다.
38 *
39 * @param User 복사할 User 객체.
40 * @return const User& : 복사된 User 객체.
41 */
42 const User& operator=(const User& IN User);
43 /**
44 * @brief User 객체의 소멸자.
45 */
46 virtual ~User();
47
48 /**
49 * @brief User가 인증 되었는지 확인하는 함수.
50 *
51 * @return true
52 * @return false
53 */
54 bool IsAuthenticated() const;
55 /**
56 * @brief User가 등록 되었는지 확인하는 함수.
57 *
58 * @return true
59 * @return false
60 */
61 bool IsRegistered() const;
62
63 /**
64 * @brief User 객체의 소켓을 반환하는 함수.
65 *
66 * @return int32 : User 객체의 소켓.
67 */
68 int32 GetSocket() const;
69 /**
70 * @brief User 객체의 nickname을 반환하는 함수.
71 *
72 * @return const std::string& : User 객체의 nickname.
73 */
74 const std::string& GetNickname() const;
75 /**
76 * @brief User 객체의 username을 반환하는 함수.
77 *
78 * @return const std::string& : User 객체의 username.
79 */
80 const std::string& GetUsername() const;
81 /**
82 * @brief User 객체의 hostname을 반환하는 함수.
83 *
84 * @return const std::string& : User 객체의 hostname.
85 */
86 const std::string& GetHostname() const;
87 /**
88 * @brief User 객체의 servername을 반환하는 함수.
89 *
90 * @return const std::string& : User 객체의 servername.
91 */
92 const std::string& GetServername() const;
93 /**
94 * @brief User 객체의 realname을 반환하는 함수.
95 *
96 * @return const std::string& : User 객체의 realname.
97 */
98 const std::string& GetRealname() const;
99
100 /**
101 * @brief User 객체의 소켓을 설정하는 함수.
102 *
103 * @param socket target socket.
104 */
105 void SetSocket(const int32 IN socket);
106 /**
107 * @brief User 객체의 인증 상태를 true로 설정하는 함수.
108 */
109 void SetAuthenticated();
110 /**
111 * @brief User 객체의 등록 상태를 true로 설정하는 함수.
112 */
113 void SetRegistered();
114 /**
115 * @brief User 객체의 nickname을 설정하는 함수.
116 *
117 * @param nickname target nickname.
118 */
119 void SetNickname(const std::string& IN nickname);
120 /**
121 * @brief User 객체의 username을 설정하는 함수.
122 *
123 * @param username target username.
124 */
125 void SetUsername(const std::string& IN username);
126 /**
127 * @brief User 객체의 hostname을 설정하는 함수.
128 *
129 * @param hostname target hostname.
130 */
131 void SetHostname(const std::string& IN hostname);
132 /**
133 * @brief User 객체의 servername을 설정하는 함수.
134 *
135 * @param servername target servername.
136 */
137 void SetServername(const std::string& IN servername);
138 /**
139 * @brief User 객체의 realname을 설정하는 함수.
140 *
141 * @param realname target realname.
142 */
143 void SetRealname(const std::string& IN realname);
144private:
145 /**
146 * @brief User 객체의 복사 생성자. (사용되지 않음)
147 *
148 * @param User : 복사할 User 객체.
149 */
150 User(const User& IN User); // = delete
151
152private:
153 /**
154 * @brief User의 소켓을 저장하는 멤버 변수.
155 */
156 int32 mSocket;
157 /**
158 * @brief User의 인증 상태를 저장하는 멤버 변수.
159 */
161 /**
162 * @brief User의 등록 상태를 저장하는 멤버 변수.
163 */
165 /**
166 * @brief User의 nickname을 저장하는 멤버 변수.
167 */
168 std::string mNickname;
169 /**
170 * @brief User의 username을 저장하는 멤버 변수.
171 */
172 std::string mUsername;
173 /**
174 * @brief User의 hostname을 저장하는 멤버 변수.
175 */
176 std::string mHostname;
177 /**
178 * @brief User의 servername을 저장하는 멤버 변수.
179 */
180 std::string mServername;
181 /**
182 * @brief User의 real을 저장하는 멤버 변수.
183 */
184 std::string mRealname;
185};
186
187}
IRC에서 생성되는 User 객체를 정의하는 클래스.
Definition User.hpp:26
const std::string & GetRealname() const
User 객체의 realname을 반환하는 함수.
Definition User.cpp:71
void SetUsername(const std::string &IN username)
User 객체의 username을 설정하는 함수.
Definition User.cpp:97
void SetServername(const std::string &IN servername)
User 객체의 servername을 설정하는 함수.
Definition User.cpp:107
const std::string & GetUsername() const
User 객체의 username을 반환하는 함수.
Definition User.cpp:56
const User & operator=(const User &IN User)
User 객체의 복사 대입 연산자.
Definition User.cpp:19
const std::string & GetHostname() const
User 객체의 hostname을 반환하는 함수.
Definition User.cpp:61
User()
User 객체의 기본 생성자.
Definition User.cpp:7
const std::string & GetNickname() const
User 객체의 nickname을 반환하는 함수.
Definition User.cpp:51
void SetSocket(const int32 IN socket)
User 객체의 소켓을 설정하는 함수.
Definition User.cpp:76
std::string mRealname
User의 real을 저장하는 멤버 변수.
Definition User.hpp:184
bool mbIsRegistered
User의 등록 상태를 저장하는 멤버 변수.
Definition User.hpp:164
bool mbIsAuthenticated
User의 인증 상태를 저장하는 멤버 변수.
Definition User.hpp:160
std::string mServername
User의 servername을 저장하는 멤버 변수.
Definition User.hpp:180
std::string mNickname
User의 nickname을 저장하는 멤버 변수.
Definition User.hpp:168
std::string mHostname
User의 hostname을 저장하는 멤버 변수.
Definition User.hpp:176
virtual ~User()
User 객체의 소멸자.
Definition User.cpp:31
void SetRegistered()
User 객체의 등록 상태를 true로 설정하는 함수.
Definition User.cpp:86
void SetNickname(const std::string &IN nickname)
User 객체의 nickname을 설정하는 함수.
Definition User.cpp:92
bool IsAuthenticated() const
User가 인증 되었는지 확인하는 함수.
Definition User.cpp:36
int32 GetSocket() const
User 객체의 소켓을 반환하는 함수.
Definition User.cpp:46
std::string mUsername
User의 username을 저장하는 멤버 변수.
Definition User.hpp:172
const std::string & GetServername() const
User 객체의 servername을 반환하는 함수.
Definition User.cpp:66
bool IsRegistered() const
User가 등록 되었는지 확인하는 함수.
Definition User.cpp:41
void SetRealname(const std::string &IN realname)
User 객체의 realname을 설정하는 함수.
Definition User.cpp:112
void SetHostname(const std::string &IN hostname)
User 객체의 hostname을 설정하는 함수.
Definition User.cpp:102
void SetAuthenticated()
User 객체의 인증 상태를 true로 설정하는 함수.
Definition User.cpp:81
int32 mSocket
User의 소켓을 저장하는 멤버 변수.
Definition User.hpp:156
User(const User &IN User)
User 객체의 복사 생성자.
Definition Earth.cpp:12