00001 #ifndef PIRCBOT_USER_H
00002 #define PIRCBOT_USER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include <pircbot/exports.h>
00034 #include <pircbot/Exceptions.h>
00035
00036
00037
00038
00039 #ifdef _WIN32
00040 # pragma warning ( push )
00041 # pragma warning( disable : 4290 )
00042 #endif
00043
00044 namespace pircbot
00045 {
00046 namespace impl
00047 {
00048
00049
00050 class UserImpl;
00051
00061 class PIRCBOT_EXPORT User
00062 {
00063
00064 public:
00065
00070 User()
00071 throw(Exception &);
00072
00079 User(const char * const prefix, const char * const nick)
00080 throw(Exception &);
00081
00090 virtual const char * const getPrefix() const
00091 throw(Exception &);
00092
00101 virtual bool isOp() const
00102 throw(Exception &);
00103
00112 virtual bool hasVoice() const
00113 throw(Exception &);
00114
00115
00121 virtual const char * const getNick() const
00122 throw(Exception &);
00123
00134 virtual const char * const toString() const
00135 throw(Exception &);
00136
00146 bool operator==(const User &rhs) const;
00147
00156 bool operator<(const User &rhs) const;
00157
00158
00167 bool operator>(const User &rhs) const;
00168
00174 User &operator=(const User &rhs);
00175
00182 User(const User &user);
00183
00189 virtual ~User();
00190
00213 void operator delete(void* p);
00214
00239 void *operator new(unsigned int size);
00240
00241 private:
00242
00253 UserImpl *m_pimpl;
00254 friend class UserImpl;
00255 };
00256
00257 }
00258
00259
00260 using pircbot::impl::User;
00261
00262 }
00263
00264 #ifdef _WIN32
00265 # pragma warning( disable : 4290 )
00266 #endif
00267
00268 #endif
00269