-/* +------------------------------------+
- * | Inspire Internet Relay Chat Daemon |
- * +------------------------------------+
+/*
+ * InspIRCd -- Internet Relay Chat Daemon
*
- * InspIRCd: (C) 2002-2010 InspIRCd Development Team
- * See: http://wiki.inspircd.org/Credits
+ * Copyright (C) 2008-2009 Dennis Friis <peavey@inspircd.org>
+ * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
+ * Copyright (C) 2008-2009 Craig Edwards <craigedwards@brainbox.cc>
+ * Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
+ * Copyright (C) 2008 Pippijn van Steenhoven <pip88nl@gmail.com>
*
- * This program is free but copyrighted software; see
- * the file COPYING for details.
+ * This file is part of InspIRCd. InspIRCd is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation, version 2.
*
- * ---------------------------------------------------
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
#include "inspircd.h"
#include <tds.h>
#include <tdsconvert.h>
{
LoggingMutex = new Mutex();
ResultsMutex = new Mutex();
+ queryDispatcher = new QueryThread(this);
+ }
+ void init()
+ {
ReadConf();
- queryDispatcher = new QueryThread(this);
ServerInstance->Threads->Start(queryDispatcher);
Implementation eventlist[] = { I_OnRehash };
- ServerInstance->Modules->Attach(eventlist, this, 1);
+ ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
ServerInstance->Modules->AddService(sqlserv);
}
bool HostInConf(const SQLhost &h)
{
- ConfigReader conf;
- for(int i = 0; i < conf.Enumerate("database"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("database");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
+ ConfigTag* tag = i->second;
SQLhost host;
- host.id = conf.ReadValue("database", "id", i);
- host.host = conf.ReadValue("database", "hostname", i);
- host.port = conf.ReadInteger("database", "port", "1433", i, true);
- host.name = conf.ReadValue("database", "name", i);
- host.user = conf.ReadValue("database", "username", i);
- host.pass = conf.ReadValue("database", "password", i);
+ host.id = tag->getString("id");
+ host.host = tag->getString("hostname");
+ host.port = tag->getInt("port", 1433);
+ host.name = tag->getString("name");
+ host.user = tag->getString("username");
+ host.pass = tag->getString("password");
if (h == host)
return true;
}
{
ClearOldConnections();
- ConfigReader conf;
- for(int i = 0; i < conf.Enumerate("database"); i++)
+ ConfigTagList tags = ServerInstance->Config->ConfTags("database");
+ for (ConfigIter i = tags.first; i != tags.second; ++i)
{
+ ConfigTag* tag = i->second;
SQLhost host;
- host.id = conf.ReadValue("database", "id", i);
- host.host = conf.ReadValue("database", "hostname", i);
- host.port = conf.ReadInteger("database", "port", "1433", i, true);
- host.name = conf.ReadValue("database", "name", i);
- host.user = conf.ReadValue("database", "username", i);
- host.pass = conf.ReadValue("database", "password", i);
+ host.id = tag->getString("id");
+ host.host = tag->getString("hostname");
+ host.port = tag->getInt("port", 1433);
+ host.name = tag->getString("name");
+ host.user = tag->getString("username");
+ host.pass = tag->getString("password");
if (HasHost(host))
continue;
void ClearAllConnections()
{
- ConnMap::iterator i;
- while ((i = connections.begin()) != connections.end())
- {
- connections.erase(i);
+ for(ConnMap::iterator i = connections.begin(); i != connections.end(); ++i)
delete i->second;
- }
+ connections.clear();
}
virtual void OnRehash(User* user)