+/* +------------------------------------+
+ * | Inspire Internet Relay Chat Daemon |
+ * +------------------------------------+
+ *
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
+ *
+ * This program is free but copyrighted software; see
+ * the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
#ifndef __LINK_H__
#define __LINK_H__
-/** The Link class might as well be a struct,
- * but this is C++ and we don't believe in structs (!).
- * It holds the entire information of one <link>
- * tag from the main config file. We maintain a list
- * of them, and populate the list on rehash/load.
- */
-class Link : public classbase
+class Link : public refcountbase
{
public:
+ reference<ConfigTag> tag;
irc::string Name;
std::string IPAddr;
int Port;
std::string SendPass;
std::string RecvPass;
- unsigned long AutoConnect;
- time_t NextConnectTime;
+ std::string Fingerprint;
+ std::string AllowMask;
bool HiddenFromStats;
- std::string FailOver;
std::string Hook;
int Timeout;
std::string Bind;
bool Hidden;
+ Link(ConfigTag* Tag) : tag(Tag) {}
+};
+
+class Autoconnect : public refcountbase
+{
+ public:
+ reference<ConfigTag> tag;
+ std::vector<std::string> servers;
+ unsigned long Period;
+ time_t NextConnectTime;
+ /** Negative == inactive */
+ int position;
+ Autoconnect(ConfigTag* Tag) : tag(Tag) {}
};
+
#endif