// ServerList.H -*- C++ -*- // Copyright (c) 1997, 1998 Etienne BERNARD // Copyright (c) 2002 Clinton Ebadi // This program 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; either version 2 of the License, or // any later version. // 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, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #ifndef SERVERLIST_H #define SERVERLIST_H #ifdef HAVE_CONFIG_H #include "config.h" #endif #include class Server; class UserCommands; #ifdef USESCRIPTS class ScriptCommands; #endif class ServerList { std::vector v; std::vector::iterator it; Server * current; int currentNumber; std::vector::iterator begin() { return v.begin(); } std::vector::iterator end() { return v.end(); } public: ServerList(); ~ServerList(); void addServer(Server *); void delServer(int); Server * nextServer(); Server * currentServer(); Server * get(int n) const { return v[n]; } int size() { return v.size(); } #ifdef USESCRIPTS friend class ScriptCommands; #endif friend class UserCommands; }; #endif