[project @ 2005-06-28 03:16:45 by unknown_lamer]
[clinton/bobotpp.git] / source / Utils.H
CommitLineData
cb21075d 1// Utils.H -*- C++ -*-
2// Copyright (c) 1997, 1998 Etienne BERNARD
a6339323 3// Copyright (c) 2002,2005 Clinton Ebadi
cb21075d 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
39b022cb 17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
cb21075d 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>
a6339323 27#include <string>
28
cb21075d 29#include "Bot.H"
30
31#ifdef USESCRIPTS
32#include <libguile.h>
33#endif
34
f2b83452 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
a6339323 45 // predicates
f2b83452 46 bool channel_p (std::string);
47 bool wildcard_p (std::string);
48 bool valid_channel_name_p (std::string);
6b7614a8 49 bool valid_nickname_p (const Bot *, std::string);
f2b83452 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
a6339323 59 // string case conversion
f2b83452 60 std::string to_lower (std::string);
61 std::string to_upper (std::string);
62
63 std::string trim_str (std::string);
cb21075d 64
65#ifdef USESCRIPTS
f2b83452 66 std::string scm2str (SCM);
67 SCM str2scm (std::string);
cb21075d 68#endif
f2b83452 69}
cb21075d 70
71#endif