/** * servtree.h: Headers for service selection tree. * * Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team * Rights to this code are as documented in COPYING. * * * Portions of this file were derived from sources bearing the following license: * Copyright © 2005 William Pitcock, et al. * Rights to this code are as documented in doc/pod/license.pod. * * $Id: servtree.h,v 1.5 2007/09/16 18:54:42 pippijn Exp $ */ #ifndef SERVTREE_H #define SERVTREE_H #include struct service_t : zero_initialised { char *name; char *user; char *host; char *real; char *disp; char *uid; user_t *me; void (*handler) (sourceinfo_t *, int, char **); void (*notice_handler) (sourceinfo_t *, int, char **); cmdvec *cmdtree; bool chanmsg; public: void set_chanmsg (bool want_chanmsg) { chanmsg = want_chanmsg; } }; E void servtree_init (void); E service_t *add_service (char const * const name, char const * const user, char const * const host, char const * const real, void (*handler) (sourceinfo_t *si, int parc, char *parv[]), cmdvec &cmdtree = null_cmdvec); E void del_service (service_t *sptr); E service_t *find_service (char const * const name); E char *service_name (char const * const name); #endif