#include <rooms.h>#include <properties.h>#include <defines.h>#include <daemon.h>
gehe zum Quellcode dieser Datei
Makrodefinitionen | |
| #define | CLASS 0 |
| #define | DATA 1 |
Funktionen | |
| void | create () |
| mixed | AddObject (object obj, string env) |
| mixed | RemoveObject (object obj, string env) |
| varargs void | QueryObject (mixed env) |
| mixed | QueryObjects (mixed env) |
| int | clean_up (int arg) |
Variablen | |
| mapping | objects |
| #define DATA 1 |
Definiert in Zeile 27 der Datei objectd.c.
Wird benutzt von _udpq(), ChannelMessage(), ctime(), encode_packet(), failed_to_deliver(), QueryObject(), Request(), Send(), send_request(), udp_channel(), udp_finger(), udp_htmlwho(), udp_locate(), udp_mail(), udp_man(), udp_ping(), udp_query(), udp_reply(), udp_tell(), udp_who() und udp_www().
| mixed AddObject | ( | object | obj, | |
| string | env | |||
| ) |
Definiert in Zeile 36 der Datei objectd.c.
Benutzt OBJECTD_SAVE, objects, P_AUTOLOAD und save_object().
Wird benutzt von compile_object().
00037 { 00038 if(!obj || !env || !objectp(obj) || !stringp(env)) return 0; 00039 00040 // save information 00041 if(!member(objects, env)) 00042 objects[env] = ({ ({ object_name(obj), obj->QueryProp(P_AUTOLOAD) }) }); 00043 else 00044 objects[env] += ({ ({ object_name(obj), obj->QueryProp(P_AUTOLOAD) }) }); 00045 save_object(OBJECTD_SAVE); 00046 return env; 00047 }


| int clean_up | ( | int | arg | ) |
Definiert in Zeile 110 der Datei objectd.c.
00111 { 00112 if(arg>1) return 1; 00113 save_object(OBJECTD_SAVE); 00114 destruct(ME); 00115 }
| void create | ( | ) |
Definiert in Zeile 29 der Datei objectd.c.
Benutzt ME, OBJECTD_SAVE, objects und restore_object().
00030 { 00031 seteuid(getuid(ME)); 00032 objects = ([]); 00033 restore_object(OBJECTD_SAVE); 00034 }

| varargs void QueryObject | ( | mixed | env | ) |
Definiert in Zeile 64 der Datei objectd.c.
Benutzt CLASS, DATA, i, IS_CLONE, OBJECTD_SAVE, objects, old_explode(), P_AUTOLOAD, REFRESH_DESTRUCT und save_object().
Wird benutzt von QueryInfo() und QueryObject().
00065 { 00066 mixed obj, oenv; int i; 00067 00068 // take the caller as the questioning object 00069 if(!env || !stringp(env)) env = previous_object(); 00070 else env = find_object(env); 00071 00072 // target must be a blueprint 00073 if(IS_CLONE(env)) return 0; 00074 00075 if(i = pointerp(obj = objects[env = object_name(oenv = env)])?sizeof(obj):0) 00076 { 00077 while(i--) 00078 { 00079 object o; 00080 string *n; 00081 00082 n = old_explode(objects[env][i][CLASS], "#"); 00083 if (sizeof(n) > 1) 00084 o = oenv->AddItem(n[0], REFRESH_DESTRUCT); 00085 else 00086 o = oenv->AddItem(n[0], REFRESH_DESTRUCT, 1); 00087 o->SetProp(P_AUTOLOAD, objects[env][i][DATA]); 00088 objects[env][i][CLASS] = object_name(o); 00089 } 00090 save_object(OBJECTD_SAVE); 00091 } 00092 }


| mixed QueryObjects | ( | mixed | env | ) |
Definiert in Zeile 94 der Datei objectd.c.
Wird benutzt von remove().
00095 { 00096 mixed obj; 00097 00098 // take the caller as the questioning object 00099 if(!env || !stringp(env)) env = previous_object(); 00100 else env = find_object(env); 00101 00102 // target must be a blueprint 00103 if(IS_CLONE(env)) return 0; 00104 00105 if(obj = objects[object_name(env)]) 00106 obj = map(obj, #'[, 0); 00107 return obj; 00108 }

| mixed RemoveObject | ( | object | obj, | |
| string | env | |||
| ) |
Definiert in Zeile 49 der Datei objectd.c.
Benutzt CLASS, i, m_delete(), OBJECTD_SAVE, objects und save_object().
00050 { 00051 if(!obj || !env || !objectp(obj) || !stringp(env)) return 0; 00052 00053 // save information 00054 if(member(objects, env)) 00055 { int i; 00056 i = sizeof(objects[env]); 00057 while(i && (objects[env][i-1][CLASS] != object_name(obj))) i--; 00058 if(i > 0) objects[env][i-1..i-1] = ({}); 00059 } 00060 if(!sizeof(objects[env])) objects = m_delete(objects, env); 00061 save_object(OBJECTD_SAVE); 00062 }

| mapping objects |
Definiert in Zeile 24 der Datei objectd.c.
Wird benutzt von AddObject(), create(), QueryObject(), QueryObjects(), remove() und RemoveObject().
1.6.3