From 9c8b44176b47d2186c88743dc1f68023c26d780b Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 4 Apr 2005 18:13:55 +0000 Subject: Added new documentation for ELine class and OnUserPostNick method git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@977 e03df62e-2008-0410-955e-edbf42e46eb7 --- docs/module-doc/modules_8cpp-source.html | 885 ++++++++++++++++--------------- 1 file changed, 443 insertions(+), 442 deletions(-) (limited to 'docs/module-doc/modules_8cpp-source.html') diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html index a2703b95e..8b4297c73 100644 --- a/docs/module-doc/modules_8cpp-source.html +++ b/docs/module-doc/modules_8cpp-source.html @@ -328,459 +328,460 @@ 00321 int Module::OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text) { return 0; }; 00322 int Module::OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text) { return 0; }; 00323 int Module::OnUserPreNick(userrec* user, std::string newnick) { return 0; }; -00324 int Module::OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type) { return ACR_DEFAULT; }; -00325 string_list Module::OnUserSync(userrec* user) { string_list empty; return empty; } -00326 string_list Module::OnChannelSync(chanrec* chan) { string_list empty; return empty; } -00327 void Module::On005Numeric(std::string &output) { }; -00328 int Module::OnKill(userrec* source, userrec* dest, std::string reason) { return 0; }; -00329 void Module::OnLoadModule(Module* mod,std::string name) { }; -00330 +00324 void Module::OnUserPostNick(userrec* user, std::string oldnick) { }; +00325 int Module::OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type) { return ACR_DEFAULT; }; +00326 string_list Module::OnUserSync(userrec* user) { string_list empty; return empty; } +00327 string_list Module::OnChannelSync(chanrec* chan) { string_list empty; return empty; } +00328 void Module::On005Numeric(std::string &output) { }; +00329 int Module::OnKill(userrec* source, userrec* dest, std::string reason) { return 0; }; +00330 void Module::OnLoadModule(Module* mod,std::string name) { }; 00331 -00332 // server is a wrapper class that provides methods to all of the C-style -00333 // exports in the core -00334 // -00335 -00336 Server::Server() -00337 { -00338 } -00339 -00340 Server::~Server() -00341 { -00342 } -00343 -00344 void Server::SendOpers(std::string s) -00345 { -00346 WriteOpers("%s",s.c_str()); -00347 } -00348 -00349 bool Server::MatchText(std::string sliteral, std::string spattern) -00350 { -00351 char literal[MAXBUF],pattern[MAXBUF]; -00352 strlcpy(literal,sliteral.c_str(),MAXBUF); -00353 strlcpy(pattern,spattern.c_str(),MAXBUF); -00354 return match(literal,pattern); -00355 } -00356 -00357 void Server::SendToModeMask(std::string modes, int flags, std::string text) -00358 { -00359 WriteMode(modes.c_str(),flags,"%s",text.c_str()); -00360 } -00361 -00362 chanrec* Server::JoinUserToChannel(userrec* user, std::string cname, std::string key) -00363 { -00364 return add_channel(user,cname.c_str(),key.c_str(),true); -00365 } -00366 -00367 chanrec* Server::PartUserFromChannel(userrec* user, std::string cname, std::string reason) -00368 { -00369 return del_channel(user,cname.c_str(),reason.c_str(),false); -00370 } -00371 -00372 chanuserlist Server::GetUsers(chanrec* chan) -00373 { -00374 chanuserlist userl; -00375 userl.clear(); -00376 for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++) -00377 { -00378 if (i->second) -00379 { -00380 if (has_channel(i->second,chan)) -00381 { -00382 if (isnick(i->second->nick)) -00383 { -00384 userl.push_back(i->second); -00385 } -00386 } -00387 } -00388 } -00389 return userl; -00390 } -00391 void Server::ChangeUserNick(userrec* user, std::string nickname) -00392 { -00393 force_nickchange(user,nickname.c_str()); -00394 } -00395 -00396 void Server::QuitUser(userrec* user, std::string reason) -00397 { -00398 send_network_quit(user->nick,reason.c_str()); -00399 kill_link(user,reason.c_str()); -00400 } -00401 -00402 bool Server::IsUlined(std::string server) -00403 { -00404 return is_uline(server.c_str()); -00405 } -00406 -00407 void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user) -00408 { -00409 call_handler(commandname.c_str(),parameters,pcnt,user); -00410 } -00411 -00412 void Server::Log(int level, std::string s) -00413 { -00414 log(level,"%s",s.c_str()); -00415 } -00416 -00417 void Server::AddCommand(char* cmd, handlerfunc f, char flags, int minparams) -00418 { -00419 createcommand(cmd,f,flags,minparams); -00420 } -00421 -00422 void Server::SendMode(char **parameters, int pcnt, userrec *user) -00423 { -00424 server_mode(parameters,pcnt,user); -00425 } -00426 -00427 void Server::Send(int Socket, std::string s) -00428 { -00429 Write(Socket,"%s",s.c_str()); -00430 } -00431 -00432 void Server::SendServ(int Socket, std::string s) -00433 { -00434 WriteServ(Socket,"%s",s.c_str()); -00435 } -00436 -00437 void Server::SendFrom(int Socket, userrec* User, std::string s) -00438 { -00439 WriteFrom(Socket,User,"%s",s.c_str()); -00440 } -00441 -00442 void Server::SendTo(userrec* Source, userrec* Dest, std::string s) -00443 { -00444 if (!Source) -00445 { -00446 // if source is NULL, then the message originates from the local server -00447 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str()); -00448 } -00449 else -00450 { -00451 // otherwise it comes from the user specified -00452 WriteTo(Source,Dest,"%s",s.c_str()); -00453 } -00454 } -00455 -00456 void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender) -00457 { -00458 if (IncludeSender) -00459 { -00460 WriteChannel(Channel,User,"%s",s.c_str()); -00461 } -00462 else -00463 { -00464 ChanExceptSender(Channel,User,"%s",s.c_str()); -00465 } -00466 } -00467 -00468 bool Server::CommonChannels(userrec* u1, userrec* u2) -00469 { -00470 return (common_channels(u1,u2) != 0); -00471 } -00472 -00473 void Server::SendCommon(userrec* User, std::string text,bool IncludeSender) -00474 { -00475 if (IncludeSender) -00476 { -00477 WriteCommon(User,"%s",text.c_str()); -00478 } -00479 else -00480 { -00481 WriteCommonExcept(User,"%s",text.c_str()); -00482 } -00483 } -00484 -00485 void Server::SendWallops(userrec* User, std::string text) -00486 { -00487 WriteWallOps(User,false,"%s",text.c_str()); -00488 } -00489 -00490 void Server::ChangeHost(userrec* user, std::string host) -00491 { -00492 ChangeDisplayedHost(user,host.c_str()); -00493 } -00494 -00495 void Server::ChangeGECOS(userrec* user, std::string gecos) -00496 { -00497 ChangeName(user,gecos.c_str()); -00498 } -00499 -00500 bool Server::IsNick(std::string nick) -00501 { -00502 return (isnick(nick.c_str()) != 0); -00503 } -00504 -00505 userrec* Server::FindNick(std::string nick) -00506 { -00507 return Find(nick); -00508 } -00509 -00510 chanrec* Server::FindChannel(std::string channel) -00511 { -00512 return FindChan(channel.c_str()); -00513 } -00514 -00515 std::string Server::ChanMode(userrec* User, chanrec* Chan) -00516 { -00517 return cmode(User,Chan); -00518 } -00519 -00520 bool Server::IsOnChannel(userrec* User, chanrec* Chan) -00521 { -00522 return has_channel(User,Chan); -00523 } -00524 -00525 std::string Server::GetServerName() -00526 { -00527 return getservername(); -00528 } -00529 -00530 std::string Server::GetNetworkName() -00531 { -00532 return getnetworkname(); -00533 } -00534 -00535 Admin Server::GetAdmin() -00536 { -00537 return Admin(getadminname(),getadminemail(),getadminnick()); -00538 } -00539 +00332 +00333 // server is a wrapper class that provides methods to all of the C-style +00334 // exports in the core +00335 // +00336 +00337 Server::Server() +00338 { +00339 } +00340 +00341 Server::~Server() +00342 { +00343 } +00344 +00345 void Server::SendOpers(std::string s) +00346 { +00347 WriteOpers("%s",s.c_str()); +00348 } +00349 +00350 bool Server::MatchText(std::string sliteral, std::string spattern) +00351 { +00352 char literal[MAXBUF],pattern[MAXBUF]; +00353 strlcpy(literal,sliteral.c_str(),MAXBUF); +00354 strlcpy(pattern,spattern.c_str(),MAXBUF); +00355 return match(literal,pattern); +00356 } +00357 +00358 void Server::SendToModeMask(std::string modes, int flags, std::string text) +00359 { +00360 WriteMode(modes.c_str(),flags,"%s",text.c_str()); +00361 } +00362 +00363 chanrec* Server::JoinUserToChannel(userrec* user, std::string cname, std::string key) +00364 { +00365 return add_channel(user,cname.c_str(),key.c_str(),true); +00366 } +00367 +00368 chanrec* Server::PartUserFromChannel(userrec* user, std::string cname, std::string reason) +00369 { +00370 return del_channel(user,cname.c_str(),reason.c_str(),false); +00371 } +00372 +00373 chanuserlist Server::GetUsers(chanrec* chan) +00374 { +00375 chanuserlist userl; +00376 userl.clear(); +00377 for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++) +00378 { +00379 if (i->second) +00380 { +00381 if (has_channel(i->second,chan)) +00382 { +00383 if (isnick(i->second->nick)) +00384 { +00385 userl.push_back(i->second); +00386 } +00387 } +00388 } +00389 } +00390 return userl; +00391 } +00392 void Server::ChangeUserNick(userrec* user, std::string nickname) +00393 { +00394 force_nickchange(user,nickname.c_str()); +00395 } +00396 +00397 void Server::QuitUser(userrec* user, std::string reason) +00398 { +00399 send_network_quit(user->nick,reason.c_str()); +00400 kill_link(user,reason.c_str()); +00401 } +00402 +00403 bool Server::IsUlined(std::string server) +00404 { +00405 return is_uline(server.c_str()); +00406 } +00407 +00408 void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user) +00409 { +00410 call_handler(commandname.c_str(),parameters,pcnt,user); +00411 } +00412 +00413 void Server::Log(int level, std::string s) +00414 { +00415 log(level,"%s",s.c_str()); +00416 } +00417 +00418 void Server::AddCommand(char* cmd, handlerfunc f, char flags, int minparams) +00419 { +00420 createcommand(cmd,f,flags,minparams); +00421 } +00422 +00423 void Server::SendMode(char **parameters, int pcnt, userrec *user) +00424 { +00425 server_mode(parameters,pcnt,user); +00426 } +00427 +00428 void Server::Send(int Socket, std::string s) +00429 { +00430 Write(Socket,"%s",s.c_str()); +00431 } +00432 +00433 void Server::SendServ(int Socket, std::string s) +00434 { +00435 WriteServ(Socket,"%s",s.c_str()); +00436 } +00437 +00438 void Server::SendFrom(int Socket, userrec* User, std::string s) +00439 { +00440 WriteFrom(Socket,User,"%s",s.c_str()); +00441 } +00442 +00443 void Server::SendTo(userrec* Source, userrec* Dest, std::string s) +00444 { +00445 if (!Source) +00446 { +00447 // if source is NULL, then the message originates from the local server +00448 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str()); +00449 } +00450 else +00451 { +00452 // otherwise it comes from the user specified +00453 WriteTo(Source,Dest,"%s",s.c_str()); +00454 } +00455 } +00456 +00457 void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender) +00458 { +00459 if (IncludeSender) +00460 { +00461 WriteChannel(Channel,User,"%s",s.c_str()); +00462 } +00463 else +00464 { +00465 ChanExceptSender(Channel,User,"%s",s.c_str()); +00466 } +00467 } +00468 +00469 bool Server::CommonChannels(userrec* u1, userrec* u2) +00470 { +00471 return (common_channels(u1,u2) != 0); +00472 } +00473 +00474 void Server::SendCommon(userrec* User, std::string text,bool IncludeSender) +00475 { +00476 if (IncludeSender) +00477 { +00478 WriteCommon(User,"%s",text.c_str()); +00479 } +00480 else +00481 { +00482 WriteCommonExcept(User,"%s",text.c_str()); +00483 } +00484 } +00485 +00486 void Server::SendWallops(userrec* User, std::string text) +00487 { +00488 WriteWallOps(User,false,"%s",text.c_str()); +00489 } +00490 +00491 void Server::ChangeHost(userrec* user, std::string host) +00492 { +00493 ChangeDisplayedHost(user,host.c_str()); +00494 } +00495 +00496 void Server::ChangeGECOS(userrec* user, std::string gecos) +00497 { +00498 ChangeName(user,gecos.c_str()); +00499 } +00500 +00501 bool Server::IsNick(std::string nick) +00502 { +00503 return (isnick(nick.c_str()) != 0); +00504 } +00505 +00506 userrec* Server::FindNick(std::string nick) +00507 { +00508 return Find(nick); +00509 } +00510 +00511 chanrec* Server::FindChannel(std::string channel) +00512 { +00513 return FindChan(channel.c_str()); +00514 } +00515 +00516 std::string Server::ChanMode(userrec* User, chanrec* Chan) +00517 { +00518 return cmode(User,Chan); +00519 } +00520 +00521 bool Server::IsOnChannel(userrec* User, chanrec* Chan) +00522 { +00523 return has_channel(User,Chan); +00524 } +00525 +00526 std::string Server::GetServerName() +00527 { +00528 return getservername(); +00529 } +00530 +00531 std::string Server::GetNetworkName() +00532 { +00533 return getnetworkname(); +00534 } +00535 +00536 Admin Server::GetAdmin() +00537 { +00538 return Admin(getadminname(),getadminemail(),getadminnick()); +00539 } 00540 00541 -00542 bool Server::AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) -00543 { -00544 if (type == MT_SERVER) -00545 { -00546 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"); -00547 return false; -00548 } -00549 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) -00550 { -00551 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"); -00552 return false; -00553 } -00554 if ((params_when_on>1) || (params_when_off>1)) -00555 { -00556 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"); -00557 return false; -00558 } -00559 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); -00560 } -00561 -00562 bool Server::AddExtendedListMode(char modechar) -00563 { -00564 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1); -00565 if (res) -00566 ModeMakeList(modechar); -00567 return res; -00568 } -00569 -00570 int Server::CountUsers(chanrec* c) -00571 { -00572 return usercount(c); -00573 } -00574 +00542 +00543 bool Server::AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) +00544 { +00545 if (type == MT_SERVER) +00546 { +00547 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"); +00548 return false; +00549 } +00550 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) +00551 { +00552 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"); +00553 return false; +00554 } +00555 if ((params_when_on>1) || (params_when_off>1)) +00556 { +00557 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"); +00558 return false; +00559 } +00560 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); +00561 } +00562 +00563 bool Server::AddExtendedListMode(char modechar) +00564 { +00565 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1); +00566 if (res) +00567 ModeMakeList(modechar); +00568 return res; +00569 } +00570 +00571 int Server::CountUsers(chanrec* c) +00572 { +00573 return usercount(c); +00574 } 00575 -00576 ConfigReader::ConfigReader() -00577 { -00578 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -00579 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); -00580 this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog); -00581 if (!this->readerror) -00582 this->error = CONF_FILE_NOT_FOUND; -00583 } -00584 +00576 +00577 ConfigReader::ConfigReader() +00578 { +00579 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +00580 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); +00581 this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog); +00582 if (!this->readerror) +00583 this->error = CONF_FILE_NOT_FOUND; +00584 } 00585 -00586 ConfigReader::~ConfigReader() -00587 { -00588 if (this->cache) -00589 delete this->cache; -00590 if (this->errorlog) -00591 delete this->errorlog; -00592 } -00593 +00586 +00587 ConfigReader::~ConfigReader() +00588 { +00589 if (this->cache) +00590 delete this->cache; +00591 if (this->errorlog) +00592 delete this->errorlog; +00593 } 00594 -00595 ConfigReader::ConfigReader(std::string filename) -00596 { -00597 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -00598 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); -00599 this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog); -00600 if (!this->readerror) -00601 this->error = CONF_FILE_NOT_FOUND; -00602 }; -00603 -00604 std::string ConfigReader::ReadValue(std::string tag, std::string name, int index) -00605 { -00606 char val[MAXBUF]; -00607 char t[MAXBUF]; -00608 char n[MAXBUF]; -00609 strlcpy(t,tag.c_str(),MAXBUF); -00610 strlcpy(n,name.c_str(),MAXBUF); -00611 int res = ReadConf(cache,t,n,index,val); -00612 if (!res) -00613 { -00614 this->error = CONF_VALUE_NOT_FOUND; -00615 return ""; -00616 } -00617 return std::string(val); -00618 } -00619 -00620 bool ConfigReader::ReadFlag(std::string tag, std::string name, int index) -00621 { -00622 char val[MAXBUF]; -00623 char t[MAXBUF]; -00624 char n[MAXBUF]; -00625 strlcpy(t,tag.c_str(),MAXBUF); -00626 strlcpy(n,name.c_str(),MAXBUF); -00627 int res = ReadConf(cache,t,n,index,val); -00628 if (!res) -00629 { -00630 this->error = CONF_VALUE_NOT_FOUND; -00631 return false; -00632 } -00633 std::string s = val; -00634 return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1")); -00635 } -00636 -00637 long ConfigReader::ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned) -00638 { -00639 char val[MAXBUF]; -00640 char t[MAXBUF]; -00641 char n[MAXBUF]; -00642 strlcpy(t,tag.c_str(),MAXBUF); -00643 strlcpy(n,name.c_str(),MAXBUF); -00644 int res = ReadConf(cache,t,n,index,val); -00645 if (!res) -00646 { -00647 this->error = CONF_VALUE_NOT_FOUND; -00648 return 0; -00649 } -00650 for (int i = 0; i < strlen(val); i++) -00651 { -00652 if (!isdigit(val[i])) -00653 { -00654 this->error = CONF_NOT_A_NUMBER; -00655 return 0; -00656 } -00657 } -00658 if ((needs_unsigned) && (atoi(val)<0)) -00659 { -00660 this->error = CONF_NOT_UNSIGNED; -00661 return 0; -00662 } -00663 return atoi(val); -00664 } -00665 -00666 long ConfigReader::GetError() -00667 { -00668 long olderr = this->error; -00669 this->error = 0; -00670 return olderr; -00671 } -00672 -00673 void ConfigReader::DumpErrors(bool bail, userrec* user) -00674 { -00675 if (bail) -00676 { -00677 printf("There were errors in your configuration:\n%s",errorlog->str().c_str()); -00678 exit(0); -00679 } -00680 else -00681 { -00682 char dataline[1024]; -00683 if (user) -00684 { -00685 WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick); -00686 while (!errorlog->eof()) -00687 { -00688 errorlog->getline(dataline,1024); -00689 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline); -00690 } -00691 } -00692 else -00693 { -00694 WriteOpers("There were errors in the configuration file:",user->nick); -00695 while (!errorlog->eof()) -00696 { -00697 errorlog->getline(dataline,1024); -00698 WriteOpers(dataline); -00699 } -00700 } -00701 return; -00702 } -00703 } -00704 +00595 +00596 ConfigReader::ConfigReader(std::string filename) +00597 { +00598 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +00599 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); +00600 this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog); +00601 if (!this->readerror) +00602 this->error = CONF_FILE_NOT_FOUND; +00603 }; +00604 +00605 std::string ConfigReader::ReadValue(std::string tag, std::string name, int index) +00606 { +00607 char val[MAXBUF]; +00608 char t[MAXBUF]; +00609 char n[MAXBUF]; +00610 strlcpy(t,tag.c_str(),MAXBUF); +00611 strlcpy(n,name.c_str(),MAXBUF); +00612 int res = ReadConf(cache,t,n,index,val); +00613 if (!res) +00614 { +00615 this->error = CONF_VALUE_NOT_FOUND; +00616 return ""; +00617 } +00618 return std::string(val); +00619 } +00620 +00621 bool ConfigReader::ReadFlag(std::string tag, std::string name, int index) +00622 { +00623 char val[MAXBUF]; +00624 char t[MAXBUF]; +00625 char n[MAXBUF]; +00626 strlcpy(t,tag.c_str(),MAXBUF); +00627 strlcpy(n,name.c_str(),MAXBUF); +00628 int res = ReadConf(cache,t,n,index,val); +00629 if (!res) +00630 { +00631 this->error = CONF_VALUE_NOT_FOUND; +00632 return false; +00633 } +00634 std::string s = val; +00635 return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1")); +00636 } +00637 +00638 long ConfigReader::ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned) +00639 { +00640 char val[MAXBUF]; +00641 char t[MAXBUF]; +00642 char n[MAXBUF]; +00643 strlcpy(t,tag.c_str(),MAXBUF); +00644 strlcpy(n,name.c_str(),MAXBUF); +00645 int res = ReadConf(cache,t,n,index,val); +00646 if (!res) +00647 { +00648 this->error = CONF_VALUE_NOT_FOUND; +00649 return 0; +00650 } +00651 for (int i = 0; i < strlen(val); i++) +00652 { +00653 if (!isdigit(val[i])) +00654 { +00655 this->error = CONF_NOT_A_NUMBER; +00656 return 0; +00657 } +00658 } +00659 if ((needs_unsigned) && (atoi(val)<0)) +00660 { +00661 this->error = CONF_NOT_UNSIGNED; +00662 return 0; +00663 } +00664 return atoi(val); +00665 } +00666 +00667 long ConfigReader::GetError() +00668 { +00669 long olderr = this->error; +00670 this->error = 0; +00671 return olderr; +00672 } +00673 +00674 void ConfigReader::DumpErrors(bool bail, userrec* user) +00675 { +00676 if (bail) +00677 { +00678 printf("There were errors in your configuration:\n%s",errorlog->str().c_str()); +00679 exit(0); +00680 } +00681 else +00682 { +00683 char dataline[1024]; +00684 if (user) +00685 { +00686 WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick); +00687 while (!errorlog->eof()) +00688 { +00689 errorlog->getline(dataline,1024); +00690 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline); +00691 } +00692 } +00693 else +00694 { +00695 WriteOpers("There were errors in the configuration file:",user->nick); +00696 while (!errorlog->eof()) +00697 { +00698 errorlog->getline(dataline,1024); +00699 WriteOpers(dataline); +00700 } +00701 } +00702 return; +00703 } +00704 } 00705 -00706 int ConfigReader::Enumerate(std::string tag) -00707 { -00708 return EnumConf(cache,tag.c_str()); -00709 } -00710 -00711 int ConfigReader::EnumerateValues(std::string tag, int index) -00712 { -00713 return EnumValues(cache, tag.c_str(), index); -00714 } -00715 -00716 bool ConfigReader::Verify() -00717 { -00718 return this->readerror; -00719 } -00720 +00706 +00707 int ConfigReader::Enumerate(std::string tag) +00708 { +00709 return EnumConf(cache,tag.c_str()); +00710 } +00711 +00712 int ConfigReader::EnumerateValues(std::string tag, int index) +00713 { +00714 return EnumValues(cache, tag.c_str(), index); +00715 } +00716 +00717 bool ConfigReader::Verify() +00718 { +00719 return this->readerror; +00720 } 00721 -00722 FileReader::FileReader(std::string filename) -00723 { -00724 file_cache c; -00725 readfile(c,filename.c_str()); -00726 this->fc = c; -00727 } -00728 -00729 FileReader::FileReader() -00730 { -00731 } -00732 -00733 void FileReader::LoadFile(std::string filename) -00734 { -00735 file_cache c; -00736 readfile(c,filename.c_str()); -00737 this->fc = c; -00738 } -00739 +00722 +00723 FileReader::FileReader(std::string filename) +00724 { +00725 file_cache c; +00726 readfile(c,filename.c_str()); +00727 this->fc = c; +00728 } +00729 +00730 FileReader::FileReader() +00731 { +00732 } +00733 +00734 void FileReader::LoadFile(std::string filename) +00735 { +00736 file_cache c; +00737 readfile(c,filename.c_str()); +00738 this->fc = c; +00739 } 00740 -00741 FileReader::~FileReader() -00742 { -00743 } -00744 -00745 bool FileReader::Exists() -00746 { -00747 if (fc.size() == 0) -00748 { -00749 return(false); -00750 } -00751 else -00752 { -00753 return(true); -00754 } -00755 } -00756 -00757 std::string FileReader::GetLine(int x) -00758 { -00759 if ((x<0) || (x>fc.size())) -00760 return ""; -00761 return fc[x]; -00762 } -00763 -00764 int FileReader::FileSize() -00765 { -00766 return fc.size(); -00767 } -00768 +00741 +00742 FileReader::~FileReader() +00743 { +00744 } +00745 +00746 bool FileReader::Exists() +00747 { +00748 if (fc.size() == 0) +00749 { +00750 return(false); +00751 } +00752 else +00753 { +00754 return(true); +00755 } +00756 } +00757 +00758 std::string FileReader::GetLine(int x) +00759 { +00760 if ((x<0) || (x>fc.size())) +00761 return ""; +00762 return fc[x]; +00763 } +00764 +00765 int FileReader::FileSize() +00766 { +00767 return fc.size(); +00768 } 00769 -00770 std::vector<Module*> modules(255); -00771 std::vector<ircd_module*> factory(255); -00772 -00773 int MODCOUNT = -1; -00774 +00770 +00771 std::vector<Module*> modules(255); +00772 std::vector<ircd_module*> factory(255); +00773 +00774 int MODCOUNT = -1; 00775 -
1.3.3
--
cgit v1.3.1-10-gc9f91