summaryrefslogtreecommitdiff
path: root/src/perl/common/Log.xs
blob: 06b72d0bff80220deb3472783146df71d22b0cdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
MODULE = Irssi  PACKAGE = Irssi

void
logs()
PREINIT:
	GSList *tmp;
	HV *stash;
PPCODE:
	stash = gv_stashpv("Irssi::Log", 0);
	for (tmp = logs; tmp != NULL; tmp = tmp->next) {
		XPUSHs(sv_2mortal(sv_bless(newRV_noinc(newSViv(GPOINTER_TO_INT(tmp->data))), stash)));
	}

Irssi::Log
log_create_rec(fname, level, items)
	char *fname
	int level
	char *items

Irssi::Log
log_find(fname)
	char *fname

void
log_write(item, level, str)
	char *item
	int level
	char *str

#*******************************
MODULE = Irssi  PACKAGE = Irssi::Log  PREFIX = log_
#*******************************

void
values(log)
	Irssi::Log log
PREINIT:
	HV *hv;
	AV *av;
	char **tmp;
PPCODE:
	hv = newHV();
	hv_store(hv, "fname", 5, new_pv(log->fname), 0);
	hv_store(hv, "opened", 6, newSViv(log->opened), 0);
	hv_store(hv, "level", 5, newSViv(log->level), 0);
	hv_store(hv, "last", 4, newSViv(log->last), 0);
	hv_store(hv, "autoopen", 8, newSViv(log->autoopen), 0);
	hv_store(hv, "temp", 4, newSViv(log->temp), 0);

	av = newAV();
	for (tmp = log->items; *tmp != NULL; tmp++) {
		av_push(av, new_pv(*tmp));
	}
	hv_store(hv, "items", 4, newRV_noinc((SV*)av), 0);
	XPUSHs(sv_2mortal(newRV_noinc((SV*)hv)));

void
log_update(log)
	Irssi::Log log

void
log_close(log)
	Irssi::Log log

void
log_write_rec(log, str)
	Irssi::Log log
	char *str

void
log_start_logging(log)
	Irssi::Log log

void
log_stop_logging(log)
	Irssi::Log log