summaryrefslogtreecommitdiff
path: root/src/servers.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-01-21 22:31:16 -0500
committerAdam <Adam@anope.org>2013-01-21 22:31:16 -0500
commitddaa001dafb5122e6e363e4acbbe6ce045b7b104 (patch)
tree0364a76606ac6e2881ebd663601ce260f7c1101e /src/servers.cpp
parent51c049e1a738e9124bab3961f35b830906517421 (diff)
Merge usefulness of Flags and Extensible classes into Extensible, made most flags we have juse strings instead of defines/enums
Diffstat (limited to 'src/servers.cpp')
-rw-r--r--src/servers.cpp39
1 files changed, 23 insertions, 16 deletions
diff --git a/src/servers.cpp b/src/servers.cpp
index d1301af80..bbb7a1596 100644
--- a/src/servers.cpp
+++ b/src/servers.cpp
@@ -20,18 +20,15 @@
#include "config.h"
#include "channels.h"
-const Anope::string ServerFlagStrings[] = { "SERVER_NONE", "SERVER_SYNCING", "SERVER_JUPED", "" };
-template<> const Anope::string* Flags<ServerFlag>::flags_strings = ServerFlagStrings;
-
/* Anope */
Server *Me = NULL;
std::set<Anope::string> Servers::Capab;
-Server::Server(Server *up, const Anope::string &sname, unsigned shops, const Anope::string &desc, const Anope::string &ssid, ServerFlag flag) : name(sname), hops(shops), description(desc), sid(ssid), uplink(up)
+Server::Server(Server *up, const Anope::string &sname, unsigned shops, const Anope::string &desc, const Anope::string &ssid, bool jupe) : name(sname), hops(shops), description(desc), sid(ssid), uplink(up)
{
- this->SetFlag(SERVER_SYNCING);
- this->SetFlag(flag);
+ syncing = true;
+ juped = jupe;
Log(this, "connect") << "uplinked to " << (this->uplink ? this->uplink->GetName() : "no uplink") << " connected to the network";
@@ -41,7 +38,7 @@ Server::Server(Server *up, const Anope::string &sname, unsigned shops, const Ano
this->uplink->AddLink(this);
/* Check to be sure this isn't a juped server */
- if (Me == this->uplink && !this->HasFlag(SERVER_JUPED))
+ if (Me == this->uplink && !juped)
{
/* Now do mode related stuff as we know what modes exist .. */
for (botinfo_map::iterator it = BotListByNick->begin(), it_end = BotListByNick->end(); it != it_end; ++it)
@@ -81,7 +78,7 @@ Server::Server(Server *up, const Anope::string &sname, unsigned shops, const Ano
{
Server *s = Me->GetLinks()[i];
- if (s->HasFlag(SERVER_JUPED))
+ if (s->juped)
IRCD->SendServer(s);
}
@@ -131,7 +128,7 @@ Server::~Server()
if (u->server == this)
{
NickAlias *na = NickAlias::Find(u->nick);
- if (na && !na->nc->HasFlag(NI_SUSPENDED) && (u->IsRecognized() || u->IsIdentified()))
+ if (na && !na->nc->HasExt("SUSPENDED") && (u->IsRecognized() || u->IsIdentified()))
{
na->last_seen = Anope::CurTime;
na->last_quit = this->quit_reason;
@@ -231,7 +228,7 @@ void Server::Sync(bool sync_links)
if (this->IsSynced())
return;
- this->UnsetFlag(SERVER_SYNCING);
+ syncing = false;
Log(this, "sync") << "is done syncing";
@@ -248,7 +245,7 @@ void Server::Sync(bool sync_links)
for (registered_channel_map::iterator it = RegisteredChannelList->begin(), it_end = RegisteredChannelList->end(); it != it_end; ++it)
{
ChannelInfo *ci = it->second;
- if (ci->HasFlag(CI_PERSIST))
+ if (ci->HasExt("PERSIST"))
{
bool created = false;
if (!ci->c)
@@ -256,9 +253,9 @@ void Server::Sync(bool sync_links)
ci->c = new Channel(ci->name, ci->time_registered);
created = true;
}
- if (ModeManager::FindChannelModeByName(CMODE_PERM) != NULL)
+ if (ModeManager::FindChannelModeByName("PERM") != NULL)
{
- ci->c->SetMode(NULL, CMODE_PERM);
+ ci->c->SetMode(NULL, "PERM");
if (created)
IRCD->SendChannel(ci->c);
}
@@ -297,7 +294,12 @@ void Server::Sync(bool sync_links)
bool Server::IsSynced() const
{
- return !this->HasFlag(SERVER_SYNCING);
+ return !syncing;
+}
+
+void Server::Unsync()
+{
+ syncing = true;
}
bool Server::IsULined() const
@@ -311,9 +313,14 @@ bool Server::IsULined() const
return false;
}
+bool Server::IsJuped() const
+{
+ return juped;
+}
+
void Server::Notice(const BotInfo *source, const Anope::string &message)
{
- if (Config->NSDefFlags.HasFlag(NI_MSG))
+ if (Config->NSDefFlags.count("MSG"))
IRCD->SendGlobalPrivmsg(source, this, message);
else
IRCD->SendGlobalNotice(source, this, message);
@@ -400,7 +407,7 @@ const Anope::string Servers::TS6_SID_Retrieve()
Server* Servers::GetUplink()
{
for (unsigned i = 0; Me && i < Me->GetLinks().size(); ++i)
- if (!Me->GetLinks()[i]->HasFlag(SERVER_JUPED))
+ if (!Me->GetLinks()[i]->IsJuped())
return Me->GetLinks()[i];
return NULL;
}