51 bool IsUserExist(
const std::string& IN nickname)
const;
59 bool IsOperator(
const std::string& IN nickname)
const;
67 bool IsInvited(
const std::string& IN nickname)
const;
109 const std::string&
GetName()
const;
115 const std::string&
GetTopic()
const;
127 const std::string&
GetKey()
const;
139 const std::map<std::string, User>&
GetUsers()
const;
145 const std::map<std::string, User>&
GetOperators()
const;
170 void SetName(
const std::string& IN channelName);
176 void SetTopic(
const std::string& IN topic);
188 void SetKey(
const std::string& IN key);
245 void AddUser(
const std::string& IN nickname,
const User& IN user);
270 void DeleteUser(
const std::string& IN nickname);
IRC에서 생성되는 Channel 객체를 정의하는 클래스.
Definition Channel.hpp:25
const Channel & operator=(const Channel &IN channel)
Channel 객체의 복사 대입 연산자.
const std::string & GetName() const
Channel 객체의 name을 반환하는 함수.
Definition Channel.cpp:92
const std::string & GetTopic() const
Channel 객체의 topic을 반환하는 함수.
Definition Channel.cpp:88
void SetProtectedTopic()
채널의 topic을 operator만 설정할 수 있도록 하는 함수.
Definition Channel.cpp:205
Channel(const Channel &IN channel)
Channel 객체의 복사 생성자.
std::string mTopic
Channel 객체의 topic을 저장하는 멤버 변수.
Definition Channel.hpp:306
std::string GetAllUsersNickname() const
현재 채널에 존재하는 유저들의 nickname 목록을 반환하는 함수.
Definition Channel.cpp:122
bool mbIsProtectedTopic
채널의 topic 설정에 operator 권한이 필요한 상태인지를 저장하는 멤버 변수.
Definition Channel.hpp:330
void UnsetLimitedMaxUserCount()
채널에 입장 가능한 최대 유저 수 제한을 해제하는 함수.
Definition Channel.cpp:235
void DeleteTopic()
채널의 topic을 삭제하는 함수.
Definition Channel.cpp:275
void SetLimitedMaxUserCount()
채널에 입장 가능한 최대 유저 수 제한을 설정하는 함수.
Definition Channel.cpp:215
bool mbIsKeyRequired
채널에 key가 설정된 상태인지 저장하는 멤버 변수.
Definition Channel.hpp:342
std::map< std::string, User > mUsers
채널에 입장한 유저의 목록을 저장하는 멤버 변수.
Definition Channel.hpp:318
std::string GetModeArgument() const
현재 채널에 설정된 mode에 대한 인자들을 반환하는 함수.
Definition Channel.cpp:167
void DeleteOperator(const std::string &IN nickname)
채널의 operator를 삭제하는 함수.
Definition Channel.cpp:291
Channel()
Channel 객체의 기본 생성자.
Definition Channel.cpp:7
void UnsetProtectedTopic()
채널의 topic을 모두가 설정할 수 있도록 하는 함수.
Definition Channel.cpp:225
const std::map< std::string, User > & GetOperators() const
현재 채널에 존재하는 operator 목록을 반환하는 함수.
Definition Channel.cpp:117
bool IsChannelEmpty() const
채널에 유저가 없는지 확인하는 함수.
Definition Channel.cpp:76
bool mbIsLimitedMaxUserCount
채널에 입장 가능한 최대 유저 수 제한이 설정된 상태인지를 저장하는 멤버 변수.
Definition Channel.hpp:338
void AddInvitedUser(const std::string &IN nickname, const User &IN user)
채널에 초대 받은 유저를 추가하는 함수.
Definition Channel.cpp:265
void UnsetKeyRequired()
채널의 key를 해제하는 함수.
Definition Channel.cpp:240
void UnsetInviteOnly()
초대 전용 설정을 해제하는 함수.
Definition Channel.cpp:230
std::map< std::string, User > mOperators
채널에 입장한 operator의 목록을 저장하는 멤버 변수.
Definition Channel.hpp:322
void DeleteUser(const std::string &IN nickname)
채널의 유저를 삭제하는 함수.
Definition Channel.cpp:281
bool IsUserExist(const std::string &IN nickname) const
채널에 유저가 존재하는지 확인하는 함수.
Definition Channel.cpp:20
uint32 GetMaxUserCount() const
Channel 객체의 max user count을 반환하는 함수.
Definition Channel.cpp:107
void AddOperator(const std::string &IN nickname, const User &IN user)
채널에 operator를 추가하는 함수.
Definition Channel.cpp:255
@ UNLIMIT
Definition Channel.hpp:30
bool IsInvited(const std::string &IN nickname) const
유저가 채널에 초대되었는지 확인하는 함수.
Definition Channel.cpp:44
bool mbIsInviteOnly
채널이 초대 전용 상태인지 저장하는 멤버 변수.
Definition Channel.hpp:334
virtual ~Channel()
Channel 객체의 소멸자.
Definition Channel.cpp:309
void SetMaxUserCount(uint32 IN maxUserCount)
Channel 객체의 max user count를 설정하는 함수.
Definition Channel.cpp:195
bool IsLimitedMaxUserCount() const
채널에 최대 입장 유저 수 제한이 설정되었는지 확인하는 함수.
Definition Channel.cpp:71
void AddUser(const std::string &IN nickname, const User &IN user)
채널에 유저를 추가하는 함수.
Definition Channel.cpp:245
const std::map< std::string, User > & GetUsers() const
현재 채널에 존재하는 유저 목록을 반환하는 함수.
Definition Channel.cpp:112
bool IsProtectedTopic() const
채널의 topic을 operator만 설정할 수 있는지 확인하는 함수.
Definition Channel.cpp:56
bool IsKeyRequired() const
채널에 key가 설정되었는지 확인하는 함수.
Definition Channel.cpp:66
std::string mName
Channel 객체의 이름을 저장하는 멤버 변수.
Definition Channel.hpp:302
uint32 mMaxUserCount
Channel 객체의 max user count을 저장하는 멤버 변수.
Definition Channel.hpp:310
void SetName(const std::string &IN channelName)
Channel 객체의 name을 설정하는 함수.
Definition Channel.cpp:182
uint32 GetCurrentUserCount() const
현재 채널에 존재하는 유저의 수를 반환하는 함수.
Definition Channel.cpp:102
void DeleteInvitedUser(const std::string &IN nickname)
채널에 초대 받은 유저를 삭제하는 함수.
Definition Channel.cpp:301
void SetTopic(const std::string &IN topic)
Channel 객체의 topic을 설정하는 함수.
Definition Channel.cpp:188
std::map< std::string, User > mInvitedUsers
채널에 초대된 유저의 목록을 저장하는 멤버 변수.
Definition Channel.hpp:326
bool IsOperator(const std::string &IN nickname) const
유저가 채널의 operator인지 확인하는 함수.
Definition Channel.cpp:32
bool IsInviteOnly() const
채널이 초대 전용으로 설정되었는지 확인하는 함수.
Definition Channel.cpp:61
const std::string & GetKey() const
Channel 객체의 key를 반환하는 함수.
Definition Channel.cpp:97
std::string GetModeString() const
현재 채널에 설정된 mode를 반환하는 함수.
Definition Channel.cpp:144
void SetInviteOnly()
채널을 초대 전용으로 설정하는 함수.
Definition Channel.cpp:210
void SetKey(const std::string &IN key)
Channel 객체의 key를 설정하는 함수.
Definition Channel.cpp:200
std::string mKey
Channel 객체의 key를 저장하는 멤버 변수.
Definition Channel.hpp:314
void SetKeyRequired()
채널의 key를 설정하는 함수.
Definition Channel.cpp:220
IRC에서 생성되는 User 객체를 정의하는 클래스.
Definition User.hpp:26