1 /* 2 * InspIRCd -- Internet Relay Chat Daemon 3 * 4 * Copyright (C) 2016 Attila Molnar <attilamolnar@hush.com> 5 * Copyright (C) 2013, 2017-2018 Sadie Powell <sadie@witchery.services> 6 * Copyright (C) 2013 Adam <Adam@anope.org> 7 * Copyright (C) 2012 Robby <robby@chatbelgie.be> 8 * Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org> 9 * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org> 10 * Copyright (C) 2007, 2010 Craig Edwards <brain@inspircd.org> 11 * Copyright (C) 2007 Dennis Friis <peavey@inspircd.org> 12 * 13 * This file is part of InspIRCd. InspIRCd is free software: you can 14 * redistribute it and/or modify it under the terms of the GNU General Public 15 * License as published by the Free Software Foundation, version 2. 16 * 17 * This program is distributed in the hope that it will be useful, but WITHOUT 18 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 19 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 20 * details. 21 * 22 * You should have received a copy of the GNU General Public License 23 * along with this program. If not, see <http://www.gnu.org/licenses/>. 24 */ 25 26 27 #pragma once 28 29 class Link : public refcountbase 30 { 31 public: 32 reference<ConfigTag> tag; 33 std::string Name; 34 std::string IPAddr; 35 unsigned int Port; 36 std::string SendPass; 37 std::string RecvPass; 38 std::string Fingerprint; 39 std::vector<std::string> AllowMasks; 40 bool HiddenFromStats; 41 std::string Hook; 42 unsigned int Timeout; 43 std::string Bind; 44 bool Hidden; Link(ConfigTag * Tag)45 Link(ConfigTag* Tag) : tag(Tag) {} 46 }; 47 48 class Autoconnect : public refcountbase 49 { 50 public: 51 reference<ConfigTag> tag; 52 std::vector<std::string> servers; 53 unsigned long Period; 54 time_t NextConnectTime; 55 /** Negative == inactive */ 56 int position; Autoconnect(ConfigTag * Tag)57 Autoconnect(ConfigTag* Tag) : tag(Tag) {} 58 }; 59