Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

/home/groups/n/no/noxwizard/cvs/src/crontab.cpp File Reference

#include "nxwcommn.h"
#include "network.h"
#include "cmdtable.h"
#include "sregions.h"
#include "bounty.h"
#include "sndpkg.h"
#include "debug.h"
#include "amx/amxcback.h"
#include "srvparms.h"
#include "jail.h"
#include "worldmain.h"
#include "books.h"
#include "set.h"
#include "archive.h"
#include "trade.h"
#include "globals.h"
#include "inlines.h"
#include "chars.h"
#include "items.h"
#include "nox-wizard.h"
#include "house.h"

Compounds

struct  CronTab

Useful macros

#define CHKCRONTABINIT   { if (!s_bCronTabOK) return; }
#define CRONTABFAIL(M)   { ConOut(M); s_bCronTabOK = false; return; }

Prototypes for internal use

UI32 calcMask (char *str, bool isMinutes)
void addTaskToCrontab (char *str)
char getFirstValidChar (char *str)
bool getToken (char **pstrSource, char **pstrRes)
bool isCharInStr (char *str, char chr)
void exec_isave (char *dummy)

Defines

#define MAXLINELEN   256
#define EXTRACTTOKEN   { if (!getToken(&str, &tkn)) { ErrOut("nxw-crontab : syntax error : %s\n",line); safedelete(line); safedelete(Cron); return; } }
#define CHECKCMD(A)   { if (strcmp(cmd, #A )==0) { exec_ ##A (params); return;} }
#define CHECKCMDAMX(A)   { if (strcmp(cmd, #A )==0) { exec_amx ##A (params); return;} }

Functions

void dispatchCommand (char *cmd, char *params)
void killCronTab ()
 Kills the scheduler, just for reloads otherwise useless (OS frees memory automatically).

void initCronTab ()
 Inits the scheduler, must be called right before the main loop.

void checkCronTab ()
 checks for ready schedules, should be called at the beginning of the main loop

void exec_gy (char *txt)
void exec_save (char *dummy)
void exec_shutdown (char *dummy)
void exec_whologow (char *dummy)
void exec_wholog (char *dummy)
void exec_loaddefaults (char *dummy)
void exec_guardson (char *dummy)
void exec_guardsoff (char *dummy)
void exec_weather (char *dummy)
void exec_gcollect (char *dummy)
void exec_restock (char *dummy)
void exec_restockall (char *dummy)
void exec_zerokills (char *dummy)
void exec_respawn (char *dummy)
void exec_broadcast (char *txt)
void exec_alert (char *params)
void exec_amxcall (char *params)
void exec_cfg (char *params)
void exec_amxrun (char *params)
void exec_resetdailylimit (char *params)
void exec_backup (char *dummy)

Variables

bool s_bCronTabOK = false
CronTabTaskH = NULL
CronTabTaskT = NULL
 manages the Crontab list as a linked List

int s_nTasks = 0
 just for statistics ;)

UI32 s_nSaveTime = 0

Define Documentation

#define CHECKCMD      { if (strcmp(cmd, #A )==0) { exec_ ##A (params); return;} }
 

#define CHECKCMDAMX      { if (strcmp(cmd, #A )==0) { exec_amx ##A (params); return;} }
 

#define CHKCRONTABINIT   { if (!s_bCronTabOK) return; }
 

#define CRONTABFAIL      { ConOut(M); s_bCronTabOK = false; return; }
 

#define EXTRACTTOKEN   { if (!getToken(&str, &tkn)) { ErrOut("nxw-crontab : syntax error : %s\n",line); safedelete(line); safedelete(Cron); return; } }
 

#define MAXLINELEN   256
 


Function Documentation

void addTaskToCrontab char *    str [static]
 

UI32 calcMask char *    str,
bool    isMinutes
[static]
 

void checkCronTab  
 

checks for ready schedules, should be called at the beginning of the main loop

Function to be called every now and then... check to tasks ready to be scheduled

Author:
Xanathar

void dispatchCommand char *    cmd,
char *    params
 

void exec_alert char *    params [static]
 

void exec_amxcall char *    params [static]
 

void exec_amxrun char *    params [static]
 

void exec_backup char *    dummy [static]
 

void exec_broadcast char *    txt [static]
 

void exec_cfg char *    params [static]
 

void exec_gcollect char *    dummy [static]
 

void exec_guardsoff char *    dummy [static]
 

void exec_guardson char *    dummy [static]
 

void exec_gy char *    txt [static]
 

void exec_isave char *    dummy [static]
 

void exec_loaddefaults char *    dummy [static]
 

void exec_resetdailylimit char *    params [static]
 

Author:
Luxor

void exec_respawn char *    dummy [static]
 

void exec_restock char *    dummy [static]
 

void exec_restockall char *    dummy [static]
 

void exec_save char *    dummy [static]
 

void exec_shutdown char *    dummy [static]
 

void exec_weather char *    dummy [static]
 

void exec_wholog char *    dummy [static]
 

void exec_whologow char *    dummy [static]
 

void exec_zerokills char *    dummy [static]
 

char getFirstValidChar char *    str [static]
 

bool getToken char **    pstrSource,
char **    pstrRes
[static]
 

void initCronTab  
 

Inits the scheduler, must be called right before the main loop.

Function called to init the Crontab management code

Author:
Xanathar
Remarks:
must be called right before the main loop

bool isCharInStr char *    str,
char    chr
[static]
 

void killCronTab  
 

Kills the scheduler, just for reloads otherwise useless (OS frees memory automatically).

Frees the memory and kills the scheduler [maybe for a reload, not needed for termination] not really deeply debugged (ok neither the rest is really deeply debugged! eheh ;) )

Author:
Xanathar


Variable Documentation

bool s_bCronTabOK = false [static]
 

UI32 s_nSaveTime = 0 [static]
 

int s_nTasks = 0 [static]
 

just for statistics ;)

CronTab* TaskH = NULL [static]
 

CronTab * TaskT = NULL [static]
 

manages the Crontab list as a linked List

SourceForge.net Logo