]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/link.h
m_spanningtree Clean up comments
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / link.h
index 3de32615397dbeec184714f163605a650f6d0ad3..21213fb3e9e490a20253e032dd56d3595752d7de 100644 (file)
@@ -1,42 +1,52 @@
-/*       +------------------------------------+
- *       | Inspire Internet Relay Chat Daemon |
- *       +------------------------------------+
+/*
+ * InspIRCd -- Internet Relay Chat Daemon
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
+ *   Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
  *
- * 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/>.
  */
 
-#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
+#pragma once
+
+class Link : public refcountbase
 {
  public:
+       reference<ConfigTag> tag;
        irc::string Name;
        std::string IPAddr;
        int Port;
        std::string SendPass;
        std::string RecvPass;
-       std::string AllowMask;
-       unsigned long AutoConnect;
-       time_t NextConnectTime;
+       std::string Fingerprint;
+       std::vector<std::string> AllowMasks;
        bool HiddenFromStats;
-       std::string FailOver;
        std::string Hook;
        int Timeout;
        std::string Bind;
        bool Hidden;
+       Link(ConfigTag* Tag) : tag(Tag) {}
 };
 
-#endif
+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) {}
+};