Master in Supervisor umbenannt.
Wir haben viel zu viele Master speziell in diesem Kontext
(Mudlib-Master, Ebenen-Master, Master fuer jede Ebene, die
auch Ebenen-Master heissen...).
Ausserdem ist Supervisor ohnehin der unproblematischere
Begriff.
Change-Id: Iae98ccbddd3919d4f5710a6b29cd710235579ae0
diff --git a/p/daemon/channeld.c b/p/daemon/channeld.c
index 1e41b81..d1a2f0f 100644
--- a/p/daemon/channeld.c
+++ b/p/daemon/channeld.c
@@ -32,7 +32,7 @@
channels = ([string channelname : ({ ({object* members}),
closure access_rights,
string channel_desc,
- string|object master_object,
+ string|object supervisor,
string readable_channelname }) ])
The master_object is also called the supervisor.
*/
@@ -439,11 +439,11 @@
// setup() -- set up a channel and register it
// arguments are stored in the following order:
// string* chinfo = ({ channel_name, receive_level, send_level,
-// flags, description, masterobj })
+// flags, description, supervisor })
private void setup(string* chinfo)
{
string desc = "- Keine Beschreibung -";
- object chmaster = this_object();
+ object supervisor = this_object();
if (sizeof(chinfo) && sizeof(chinfo[0]) > 1 && chinfo[0][0] == '\\')
chinfo[0] = chinfo[0][1..];
@@ -453,9 +453,9 @@
// Alle Fallthroughs in dem switch() sind Absicht.
case 6:
if (stringp(chinfo[5]) && sizeof(chinfo[5]))
- catch(chmaster = load_object(chinfo[5]); publish);
- if (!objectp(chmaster))
- chmaster = this_object();
+ catch(supervisor = load_object(chinfo[5]); publish);
+ if (!objectp(supervisor))
+ supervisor = this_object();
case 5:
if (stringp(chinfo[4]) || closurep(chinfo[4]))
@@ -477,10 +477,10 @@
return;
}
- if (new(chinfo[0], chmaster, desc) == E_ACCESS_DENIED)
+ if (new(chinfo[0], supervisor, desc) == E_ACCESS_DENIED)
{
log_file("CHANNEL", sprintf("[%s] %s: %O: error, access denied\n",
- dtime(time()), chinfo[0], chmaster));
+ dtime(time()), chinfo[0], supervisor));
}
return;
}
@@ -613,7 +613,7 @@
}
#define CHAN_NAME(x) channels[x][I_NAME]
-#define MASTER_OB(x) channels[x][I_MASTER]
+#define SVISOR_OB(x) channels[x][I_SUPERVISOR]
#define ACC_CLOSURE(x) channels[x][I_ACCESS]
// Stellt sicher, dass einen Ebenen-Supervisor gibt. Wenn dies nicht moeglich
@@ -628,12 +628,12 @@
{
// Wenn der Ebenenbesitzer als String eingetragen ist, versuchen wir,
// die Closure wiederherzustellen. Dabei wird das Objekt gleichzeitig
- // neugeladen.
- if (stringp(MASTER_OB(ch)))
+ // neugeladen und eingetragen.
+ if (stringp(SVISOR_OB(ch)))
{
closure new_acc_cl;
string err = catch(new_acc_cl=
- symbol_function("check_ch_access", MASTER_OB(ch));
+ symbol_function("check_ch_access", SVISOR_OB(ch));
publish);
/* Wenn das SV-Objekt neu geladen werden konnte, wird es als Mitglied
* eingetragen. Auch die Closure wird neu eingetragen, allerdings kann
@@ -647,13 +647,13 @@
// erfolgt keine Pruefung des Zugriffsrechtes (ist ja unsinnig, weil
// er sich ja selber genehmigen koennte), und auch um eine Rekursion
// zu vermeiden.
- add_member(ch, find_object(MASTER_OB(ch)));
+ add_member(ch, find_object(SVISOR_OB(ch)));
// Rueckgabewert ist 1, ein neues SV-Objekt ist eingetragen.
}
else
{
log_file("CHANNEL", sprintf("[%s] Channel deleted. %O -> %O\n",
- dtime(time()), MASTER_OB(ch), err));
+ dtime(time()), SVISOR_OB(ch), err));
m_delete(channels, ch);
return 0;
}
@@ -664,6 +664,7 @@
// werden. Wir nehmen das aelteste Mitglied der Ebene.
// TODO: kaputte Objekte raussortieren, neuen Master bestimmen, wenn
// dieser nicht mehr existiert.
+
}
}
return 1;
@@ -717,7 +718,7 @@
// nicht beliebige SV-Objekt EMs den Zugriff verweigern koennen. Ebenen mit
// CHANNELD als SV koennen aber natuerlich auch EM+ Zugriff verweigern.
if (IS_ARCH(previous_object(1))
- && find_object(MASTER_OB(ch)) != this_object())
+ && find_object(SVISOR_OB(ch)) != this_object())
return 1;
return funcall(ACC_CLOSURE(ch), ch, pl, cmd, &txt);
@@ -857,9 +858,9 @@
// Kontrolle an jemand anderen uebergeben, wenn der Ebenenbesitzer diese
// verlaesst.
- if (pl == channels[ch][I_MASTER] && sizeof(channels[ch][I_MEMBER]) > 1)
+ if (pl == channels[ch][I_SUPERVISOR] && sizeof(channels[ch][I_MEMBER]) > 1)
{
- channels[ch][I_MASTER] = channels[ch][I_MEMBER][1];
+ channels[ch][I_SUPERVISOR] = channels[ch][I_MEMBER][1];
if (!pl->QueryProp(P_INVIS))
{
@@ -870,7 +871,7 @@
// Caller-Stack bei dem internen Aufruf denselben Aufbau hat wie bei
// einem externen.
this_object()->send(ch, pl, "uebergibt die Ebene an " +
- channels[ch][I_MASTER]->name(WEN) + ".", MSG_EMOTE);
+ channels[ch][I_SUPERVISOR]->name(WEN) + ".", MSG_EMOTE);
}
}
channels[ch][I_MEMBER] -= ({pl});
@@ -879,7 +880,7 @@
// existiert.
// Wenn Spieler, NPC, Clone oder Channeld als letztes die Ebene verlassen,
// wird diese zerstoert, mit Meldung.
- if (!sizeof(channels[ch][I_MEMBER]) && !stringp(channels[ch][I_MASTER]))
+ if (!sizeof(channels[ch][I_MEMBER]) && !stringp(channels[ch][I_SUPERVISOR]))
{
// Der Letzte macht das Licht aus, aber nur, wenn er nicht unsichtbar ist.
if (!pl->QueryProp(P_INVIS))