[project @ 2005-07-05 18:48:49 by unknown_lamer]
[clinton/bobotpp.git] / source / Utils.H
... / ...
CommitLineData
1// Utils.H -*- C++ -*-
2// Copyright (c) 1997, 1998 Etienne BERNARD
3// Copyright (c) 2002,2005 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
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
19#ifndef UTILS_H
20#define UTILS_H
21
22#ifndef HAVE_CONFIG_H
23#include "config.h"
24#endif
25
26#include <ctime>
27#include <string>
28
29#include "Bot.H"
30
31#ifdef USESCRIPTS
32#include <libguile.h>
33#endif
34
35namespace Utils {
36 std::string get_nick (std::string);
37 std::string get_userhost (std::string);
38 std::string get_key();
39
40 int get_level (Bot *, std::string);
41 int get_level (Bot *, std::string, std::string);
42
43 std::string make_wildcard (std::string);
44
45 // predicates
46 bool channel_p (std::string);
47 bool wildcard_p (std::string);
48 bool valid_channel_name_p (std::string);
49 bool valid_nickname_p (const Bot *, std::string);
50 bool IP_p (std::string);
51
52 std::string level2str (int);
53 std::string prot2str (int);
54 std::string bool2str (bool);
55 std::string long2str (long);
56
57 std::time_t str2time(std::string);
58
59 // string case conversion
60 std::string to_lower (std::string);
61 std::string to_upper (std::string);
62
63 std::string trim_str (std::string);
64
65#ifdef USESCRIPTS
66 std::string scm2str (SCM);
67 SCM str2scm (std::string);
68#endif
69}
70
71#endif