2 * This is an empty skeleton of a Citadel server module, included to demonstrate
3 * how to add a new module to the system and how to activate it in the server.
5 * Copyright (c) 1998-2016 by the citadel.org team
7 * This program is open source software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 3.
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.
24 #include <sys/types.h>
26 #if TIME_WITH_SYS_TIME
27 # include <sys/time.h>
31 # include <sys/time.h>
40 #include "ctdl_module.h"
43 void CleanupTest(void) {
44 syslog(LOG_DEBUG, "--- test of adding an unload hook --- \n");
47 void NewRoomTest(void) {
48 syslog(LOG_DEBUG, "--- test module was told we're now in a new room ---\n");
51 void SessionStartTest(void) {
52 syslog(LOG_DEBUG, "--- starting up session %d ---\n", CC->cs_pid);
55 void SessionStopTest(void) {
56 syslog(LOG_DEBUG, "--- ending session %d ---\n", CC->cs_pid);
59 void LoginTest(void) {
60 syslog(LOG_DEBUG, "--- Hello, %s ---\n", CC->curr_user);
63 /* To insert this module into the server activate the next block by changing the #if 0 to #if 1 */
64 CTDL_MODULE_INIT(test)
69 CtdlRegisterCleanupHook(CleanupTest);
70 CtdlRegisterSessionHook(NewRoomTest, EVT_NEWROOM, 1);
71 CtdlRegisterSessionHook(SessionStartTest, EVT_START, 1);
72 CtdlRegisterSessionHook(SessionStopTest, EVT_STOP, 1);
73 CtdlRegisterSessionHook(LoginTest, EVT_LOGIN, 1);
77 /* return our module name for the log */