irc::string channel;
};
-
-
class InspIRCd;
/** Derived from Resolver, and performs user forward/reverse lookups.
int bound_fd;
bool fwd;
public:
- UserResolver(InspIRCd* Instance, userrec* user, std::string to_resolve, bool forward);
+ UserResolver(InspIRCd* Instance, userrec* user, std::string to_resolve, QueryType qt);
void OnLookupComplete(const std::string &result);
void OnError(ResolverError e, const std::string &errormessage);
* channels are removed from this list.
*/
InvitedList invites;
+
+ /** Number of channels this user is currently on
+ */
+ unsigned int ChannelCount;
public:
/** Resolvers for looking up this users IP address
* This will occur if and when res_reverse completes.
* e.g. in the above example if masks c and e are not
* valid, this function will return +ab-d
*/
- std::string userrec::ProcessNoticeMasks(const char *sm);
+ std::string ProcessNoticeMasks(const char *sm);
/** Returns true if a notice mask is set
* @param sm A notice mask character to check
*/
char* MakeWildHost();
- /** Creates a host.
- * Takes a buffer to use and fills the given buffer with the host in the format nick!user@host
- * @param Buffer to fill with host information
+ /** Creates a usermask with real host.
+ * Takes a buffer to use and fills the given buffer with the hostmask in the format user@host
+ * @return the usermask in the format user@host
*/
- void MakeHost(char* nhost);
+ char* MakeHost();
+
+ /** Creates a usermask with real ip.
+ * Takes a buffer to use and fills the given buffer with the ipmask in the format user@ip
+ * @return the usermask in the format user@ip
+ */
+ char* MakeHostIP();
/** Shuts down and closes the user's socket
* This will not cause the user to be deleted. Use InspIRCd::QuitUser for this,
*/
int CountChannels();
+ /** Modify the number of channels this user is on (used by CountChannels).
+ * Pass a positive number to increment the counter, or a negative number
+ * to decrement it.
+ */
+ void ModChannelCount(int n);
+
/** Send a notice to all local users from this user
* @param text The text format string to send
* @param ... Format arguments
/** Handle socket event.
* From EventHandler class.
*/
- void HandleEvent(EventType et);
+ void HandleEvent(EventType et, int errornum = 0);
/** Default destructor
*/
/** Called every hour by the core to remove expired entries
*/
- void MaintainWhoWas(time_t TIME);
+ void MaintainWhoWas(InspIRCd* ServerInstance, time_t TIME);
};
};