mliste.c-Dateireferenz

#include <defines.h>
#include <properties.h>
#include <sys_debug.h>
Include-Abhängigkeitsdiagramm für mliste.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define EM_DATA   "/etc/Erzmagier"
#define MAGIER   "/etc/Magierliste"
#define MASTER   "/secure/master"
#define WIZ_HOME   "/players"
#define REM   0
#define MAG   1

Funktionen

void MagierListe ()
private mapping _query_Magierliste ()
void create ()
void reset ()
void ProcessList (mixed names)

Variablen

inherit std thing properties
private mapping domains
private mapping build_domains
private int Finished
private int today

Makro-Dokumentation

#define EM_DATA   "/etc/Erzmagier"

Definiert in Zeile 7 der Datei mliste.c.

#define MAG   1

Definiert in Zeile 13 der Datei mliste.c.

Wird benutzt von ProcessList().

#define MAGIER   "/etc/Magierliste"

Definiert in Zeile 8 der Datei mliste.c.

Wird benutzt von MagierListe().

#define MASTER   "/secure/master"
#define REM   0

Definiert in Zeile 12 der Datei mliste.c.

Wird benutzt von MagierListe() und ProcessList().

#define WIZ_HOME   "/players"

Definiert in Zeile 10 der Datei mliste.c.

Wird benutzt von MagierListe().


Dokumentation der Funktionen

private mapping _query_Magierliste (  ) 

Definiert in Zeile 19 der Datei mliste.c.

Benutzt domains.

00019 { return domains; }

void create (  ) 

Definiert in Zeile 21 der Datei mliste.c.

Benutzt call_out(), create(), F_QUERY_METHOD und Set().

00022 {
00023   ::create();
00024   seteuid(getuid());
00025   Set("Magierliste", #'_query_Magierliste/*'*/, F_QUERY_METHOD);
00026   call_out("reset", 0);
00027 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

void MagierListe (  ) 

Definiert in Zeile 68 der Datei mliste.c.

Benutzt build_domains, call_out(), domains, dtime(), Finished, MAGIER, output, REM und WIZ_HOME.

Wird benutzt von ProcessList() und reset().

00069 {
00070   string output;
00071   mixed d;
00072 
00073   if(!Finished)
00074   {
00075     if(find_call_out("ProcessList") == -1)
00076     {
00077       Finished = 0;
00078       build_domains = m_allocate(0,2);
00079       call_out("ProcessList", 0, get_dir(WIZ_HOME+"/*") - ({".", "..", ".readme"}));
00080     }
00081     call_out("MagierListe", 20, 1);
00082     return;
00083   }
00084   while(remove_call_out("Magierliste") !=  -1);
00085 
00086   if (!build_domains)
00087     return;
00088 
00089   output = "Magierliste von MorgenGrauen vom "+dtime(time())+"\n";
00090 
00091   domains = deep_copy(build_domains);
00092   build_domains=0;
00093   for(d = m_indices(domains); sizeof(d); d = d[1..])
00094   {
00095     output += "REGION: "+capitalize(d[0])
00096              +" REM: "
00097              +implode(map(domains[d[0], REM], #'capitalize), ", ")
00098              +" ("+sizeof(domains[d[0], REM]+domains[d[0], MAG])
00099              +" Magier)\n"
00100              + break_string(implode(map(domains[d[0], MAG],#'capitalize),
00101                                     ", "), 62, 8)
00102              +"\n";
00103   }
00104   rm(MAGIER);
00105   write_file(MAGIER, output);
00106 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void ProcessList ( mixed  names  ) 

Definiert in Zeile 38 der Datei mliste.c.

Benutzt build_domains, call_out(), Finished, i, MAG, MagierListe(), MASTER und REM.

00039 {
00040   mixed Dname;
00041   int i;
00042   i = 5;
00043 
00044   while(i-- && sizeof(names))
00045   {
00046     if(!pointerp(Dname = MASTER->get_domain_homes(names[0])))
00047       Dname = ({Dname});
00048     if(!sizeof(Dname)) Dname = ({"Keine Region"});
00049     while(sizeof(Dname))
00050     {
00051       if(!build_domains[Dname[0]])
00052       {
00053         build_domains[Dname[0], REM] = ({});
00054         build_domains[Dname[0], MAG] = ({});
00055       }
00056       if(Dname[0]!="Keine Region" && MASTER->domain_master(names[0], Dname[0]))
00057         build_domains[Dname[0], REM] += ({names[0]});
00058       else
00059         build_domains[Dname[0], MAG] += ({names[0]});
00060       Dname = Dname[1..];
00061     }
00062     names = names[1..];
00063   }
00064   if(sizeof(names)) call_out("ProcessList", 0, names);
00065   else { Finished = 1; MagierListe(); }
00066 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:

void reset ( void   ) 

Definiert in Zeile 29 der Datei mliste.c.

Benutzt MagierListe() und today.

00030 {
00031   if (today >= time()/86400)
00032     return;
00033 
00034   today=time()/86400;
00035   MagierListe();
00036 }

Hier ist ein Graph der zeigt, was diese Funktion aufruft:


Variablen-Dokumentation

private mapping build_domains

Definiert in Zeile 15 der Datei mliste.c.

Wird benutzt von MagierListe() und ProcessList().

private mapping domains
private int Finished

Definiert in Zeile 16 der Datei mliste.c.

Wird benutzt von MagierListe() und ProcessList().

inherit std thing properties

Definiert in Zeile 1 der Datei mliste.c.

Wird benutzt von _get_save_data(), _set_save_data() und finger_single().

private int today

Definiert in Zeile 16 der Datei mliste.c.

Wird benutzt von reset().

Erzeugt am Thu Jun 3 14:39:40 2010 für MorgenGrauen Mudlib von  doxygen 1.6.3