1 |
/* |
2 |
* Copyright © 2005-2007 Atheme Development Group. |
3 |
* Rights to this code are documented in doc/pod/license.pod. |
4 |
* |
5 |
* Global objects. |
6 |
*/ |
7 |
|
8 |
static char const rcsid[] = "$Id$"; |
9 |
|
10 |
#include "atheme.h" |
11 |
#include "uplink.h" |
12 |
#include "pmodule.h" /* pcommand_init */ |
13 |
#include "internal.h" |
14 |
#include "datastream.h" |
15 |
#include "authcookie.h" |
16 |
|
17 |
chansvs_t chansvs; |
18 |
globsvs_t globsvs; |
19 |
opersvs_t opersvs; |
20 |
memosvs_t memosvs; |
21 |
nicksvs_t nicksvs; |
22 |
saslsvs_t saslsvs; |
23 |
gamesvs_t gamesvs; |
24 |
|
25 |
me_t me; |
26 |
struct cnt cnt; |
27 |
|
28 |
/* XXX */ |
29 |
ConfOption config_options; |
30 |
Database database_options; |
31 |
claro_state_t claro_state; |
32 |
int runflags; |
33 |
|
34 |
char *config_file; |
35 |
char *log_path; |
36 |
bool cold_start = false; |
37 |
|
38 |
extern char **environ; |
39 |
|
40 |
void (*db_save) (void *arg) = NULL; |
41 |
void (*db_load) (void) = NULL; |
42 |
|
43 |
me_t & |
44 |
me_t::operator = (const me_t &rhs) |
45 |
{ |
46 |
recontime = rhs.recontime; |
47 |
restarttime = rhs.restarttime; |
48 |
netname = sstrdup (rhs.netname); |
49 |
hidehostsuffix = sstrdup (rhs.hidehostsuffix); |
50 |
adminname = sstrdup (rhs.adminname); |
51 |
adminemail = sstrdup (rhs.adminemail); |
52 |
mta = rhs.mta ? sstrdup (rhs.mta) : NULL; |
53 |
maxlogins = rhs.maxlogins; |
54 |
maxusers = rhs.maxusers; |
55 |
maxnicks = rhs.maxnicks; |
56 |
maxchans = rhs.maxchans; |
57 |
emaillimit = rhs.emaillimit; |
58 |
emailtime = rhs.emailtime; |
59 |
auth = rhs.auth; |
60 |
|
61 |
return *this; |
62 |
} |
63 |
|
64 |
me_t::~me_t () |
65 |
{ |
66 |
destroy (); |
67 |
} |
68 |
|
69 |
void |
70 |
me_t::destroy () |
71 |
{ |
72 |
free (netname); |
73 |
free (hidehostsuffix); |
74 |
free (adminname); |
75 |
free (adminemail); |
76 |
if (mta != NULL) |
77 |
free (mta); |
78 |
} |