Fix crash when providing bad command line argument
[clinton/bobotpp.git] / source / ChannelList.H
CommitLineData
cb21075d 1// ChannelList.H -*- C++ -*-
2// Copyright (c) 1997, 1998 Etienne BERNARD
3// Copyright (C) 2002 Clinton Ebadi
4
5// This program is free software; you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation; either version 2 of the License, or
8// any later version.
9
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
7b564711 17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18// 02110-1301, USA.
cb21075d 19
20#ifndef CHANNELLIST_H
21#define CHANNELLIST_H
22
23#include <map>
24
cb21075d 25#include "Channel.H"
cfa82921 26#include "String.H"
cb21075d 27
cb21075d 28class UserCommands;
cfa82921 29class ServerConnection;
cb21075d 30
31class ChannelList {
32 std::map<String, Channel *, std::less<String> > channel_list;
33
34public:
35 ChannelList();
36 ~ChannelList();
37
38 void addChannel(ServerConnection *, String, String = "");
39 void delChannel(String);
40
41 Channel * getChannel(String);
42
43 void clear();
44
45 std::map<String, Channel *, std::less<String> >::iterator begin()
46 { return channel_list.begin(); }
47 std::map<String, Channel *, std::less<String> >::iterator end()
48 { return channel_list.end(); }
49
cb21075d 50 friend class UserCommands;
51};
52
53#endif