Ignore:
Timestamp:
06/01/07 11:09:07 (5 years ago)
Author:
wd
Message:

Wow, a fully building ircd mode (so far). Some changes:

  • Updated LOTS of copyright notices.
  • Completed the split of channel and user modes
  • That core 'addon' is completely gone
  • Using hard/soft/post dependencies in what seems to me to be a good way.
File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/ithildin/modules/ircd/usermodes/registered.c

    r804 r806  
    11/* 
    2  * umode_reg.c: Flag mode for registered nicknames. 
     2 * registered.c: Flag mode for registered nicknames. 
    33 *  
    4  * Copyright 2002 the Ithildin Project. 
     4 * Copyright 2002-2007 the Ithildin Project. 
    55 * See the COPYING file for more information on licensing and use. 
    66 *  
     
    99 */ 
    1010 
    11 #include <ithildin/stand.h> 
     11#include <ithildin/ithildin.h> 
    1212 
    1313#include "ircd.h" 
    14 #include "addons/umode_reg.h" 
     14#include "usermodes/registered.h" 
    1515#include "commands/mode.h" 
    1616#include "commands/whois.h" 
     
    1919 
    2020MODULE_REGISTER("$Rev$"); 
    21 const char **mdepends = [ 
    22     "ircd", 
    23     "ircd.command.mode", 
    24     "ircd.command.whois", 
    25     NULL 
    26 ] 
     21const char *mdepends[] = MDEPENDS; 
    2722 
    28 unsigned char reg_umode; 
     23unsigned char usermode_registered; 
    2924 
    30 USERMODE_FUNC(usermode_reg); 
    31 HOOK_FUNCTION(umode_reg_nick_hook); 
    32 HOOK_FUNCTION(umode_reg_whois_hook); 
     25USERMODE_FUNC(usermode_registered_handler); 
     26HOOK_FUNCTION(usermode_registered_nick_hook); 
     27HOOK_FUNCTION(usermode_registered_whois_hook); 
    3328 
    3429MODULE_LOADER(umode_reg) { 
    3530 
    36     if (!get_module_savedata(savelist, "reg_umode", &reg_umode)) { 
    37         EXPORT_SYM(usermode_reg); 
    38         usermode_request('r', &reg_umode, USERMODE_FL_GLOBAL, -1, 
    39                 "usermode_reg"); 
    40     } 
     31    if (!get_module_savedata(savelist, "usermode_registered", 
     32                &usermode_registered)) 
     33        usermode_request('r', &usermode_registered, USERMODE_FL_GLOBAL, -1, 
     34                usermode_registered_handler); 
     35    else 
     36        usermode_update_func(usermode_registered, 
     37                usermode_registered_handler); 
    4138 
    42     add_hook(ircd.events.client_nick, umode_reg_nick_hook); 
    43     add_hook(whois_event, umode_reg_whois_hook); 
     39    add_hook(ircd.events.client_nick, usermode_registered_nick_hook); 
     40    add_hook(whois_event, usermode_registered_whois_hook); 
    4441 
    4542#define RPL_WHOISREGNICK 307 
     
    5249     
    5350    if (reload) 
    54         add_module_savedata(savelist, "reg_umode", sizeof(reg_umode), 
    55                 &reg_umode); 
     51        add_module_savedata(savelist, "usermode_registered", 
     52                sizeof(usermode_registered), &usermode_registered); 
    5653    else 
    57         usermode_release(reg_umode); 
     54        usermode_release(usermode_registered); 
    5855 
    59     remove_hook(ircd.events.client_nick, umode_reg_nick_hook); 
    60     remove_hook(whois_event, umode_reg_whois_hook); 
     56    remove_hook(ircd.events.client_nick, usermode_registered_nick_hook); 
     57    remove_hook(whois_event, usermode_registered_whois_hook); 
    6158 
    6259    DMSG(RPL_WHOISREGNICK); 
     
    6461 
    6562/* Don't let users change their registered/non-registered setting. */ 
    66 USERMODE_FUNC(usermode_reg) { 
     63USERMODE_FUNC(usermode_registered_handler) { 
    6764    /* clients cannot modify the +r mode themselves.  note however that 
    6865     * this will *not* cause the mode to fail for remote clients 
     
    7572} 
    7673 
    77 HOOK_FUNCTION(umode_reg_nick_hook) { 
     74HOOK_FUNCTION(usermode_registered_nick_hook) { 
    7875    client_t *cli = (client_t *)data; 
    7976    char *fakeargv[1]; 
     
    8279    if (ISREGNICK(cli)) { 
    8380        fakeargv[0] = xxx; 
    84         xxx[0] = reg_umode; 
     81        xxx[0] = usermode_registered; 
    8582        xxx[1] = '\0'; 
    8683        user_mode(cli, cli, 1, fakeargv, 1); 
     
    9087} 
    9188 
    92 HOOK_FUNCTION(umode_reg_whois_hook) { 
     89HOOK_FUNCTION(usermode_registered_whois_hook) { 
    9390    client_t *target = (client_t *)data; 
    9491    client_t *cli = cptr.cli; 
Note: See TracChangeset for help on using the changeset viewer.