}
}
+long Server::GetChannelCount()
+{
+ return (long)chanlist.size();
+}
+
+/* This is ugly, yes, but hash_map's arent designed to be
+ * addressed in this manner, and this is a bit of a kludge.
+ * Luckily its a specialist function and rarely used by
+ * many modules (in fact, it was specially created to make
+ * m_safelist possible, initially).
+ */
+
+chanrec* Server::GetChannelIndex(long index)
+{
+ int target = 0;
+ for (chan_hash::iterator n = chanlist.begin(); n != chanlist.end(); n++, target++)
+ {
+ if (index == target)
+ return n->second;
+ }
+ return NULL;
+}
+
+void Server::AddTimer(InspTimer* T)
+{
+ ::AddTimer(T);
+}
+
void Server::SendOpers(std::string s)
{
WriteOpers("%s",s.c_str());
return is_uline(server.c_str());
}
-void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user)
+bool Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user)
{
- ServerInstance->Parser->CallHandler(commandname,parameters,pcnt,user);
+ return ServerInstance->Parser->CallHandler(commandname,parameters,pcnt,user);
}
bool Server::IsValidModuleCommand(std::string commandname, int pcnt, userrec* user)
if (!Source)
{
// if source is NULL, then the message originates from the local server
- Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
+ WriteServ_NoFormat(Dest->fd,s.c_str());
}
else
{