"XAcc-Spy" - Der XAcc-Spion (Version 09.09.1994)
================================================

Dieses Programm ist FREEWARE, d.h. es darf und soll weitergegeben und
benutzt werden. Die Weitergabe ist gestattet, sofern die Dateien
XACCSPY.APP, XACCSPY.TXT (diese Datei) und der Ordner SOURCE zusammen
und unverndert weitergegeben werden. Wird das Programm in PD-Serien
aufgenommen, auf CDs gepret etc., mge man sich doch bitte um die
aktuellste Version kmmern.

Meine Adresse: Thomas Much, Gerwigstrae 46, 76131 Karlsruhe
               Tel. (0721) 62 28 41
               EMail: Thomas Much @ KA2
                      UK48@ibm3090.rz.uni-karlsruhe.de

XACCSPY.ZIP sollte auf jeden Fall in den Musen KA und HL zu finden
sein (Achtung: Kein Gastdownload von 18-21.45 Uhr).


Wozu ist XAcc-Spy gut?
----------------------
XAcc-Spy ist eine Art "XAcc-Debugger", d.h. in einem Fenster werden
alle laufenden Applikationen angezeigt, die das XAcc-(bzw. AV-)Proto-
koll untersttzen. Dazu erhlt man alle XAcc-Parameter (s.u.), mit
denen man solche Programme recht gut einschtzen kann. Diese Anleitung
soll allerdings die XAcc-Doku nicht ersetzen, auf sie sei deshalb an
dieser Stelle verwiesen.


Installation und Anwendung
--------------------------
XAcc-Spy kann sowohl als Programm als auch als Accessory eingesetzt
werden. Beim Einsatz als Programm kann man Accessories auf das XAcc-
Protokoll hin untersuchen, mit dem Accessory kann man entsprechend
ein Hauptprogramm gut untersuchen.
Bei der Verwendung unter MultiTOS sollte der Programmtyp egal sein,
allerdings kann es sein, da einige Programme noch nicht die "neue"
XAcc-Definition untersttzen, so da man evtl. ein bichen herum-
probieren mu (s. "Debugging").
Als Tastatursteuerung kommen derzeit nur <Control>+<Q>, <Control>+
<U>, <Control>+<W> und <Control>+<*> (sowie die gngigen Tasten
<Return>, <Help> etc.) in Frage, ansonten mu die Maus bemht werden.
In dem Fenster werden alle gefundenen XAcc-Applikationen unterein-
ander angezeigt. Die Zeilen sind folgendermaen aufgebaut:
Ganz links steht der Name der Applikation. Daneben stehen die AES-
ID und die Nummer des Meneintrags. Unter einem Nicht-Multitasking-
TOS kennzeichnet apID=0 das Hauptprogramm, das dann auch keinen Men-
eintrag besitzen sollte (meistens wird dann meID=-1 bergeben).
Dann folgt die Programm-Version, die von der XAcc-Applikation be-
liebig gesetzt und kodiert werden kann. Es folgen noch die unter-
sttzten Message-Groups. Jeder Unterstrich kennzeichnet eine Gruppe;
wenn dort die entsprechende Zahl (von rechts nach links) eingetragen
ist, wird diese XAcc-Message-Gruppe verstanden. Links von den Gruppen
wird noch die Art des verstandenen Protokolls angezeigt (a=AV-Proto-
koll, x=XAcc-Protokoll).
Schlielich knnen noch "Extended Names" vorhanden sein. Mit diesen
kann die Applikation einen maschinenlesbaren Programmtyp (normaler-
weise zwei groe Buchstaben) sowie einen entsprechenden "Menschen-
lesbaren" Programmtyp angeben. Auerdem knnen "Extended Features"
gesetzt werden, die aber normalerweise nur zwischen "gut bekannten"
Programmen versendet und verstanden werden. Ganz zum Schlu folgt
noch der generische Name; dieser kann gesetzt sein, wenn das
Programm nicht berall den gleichen "offiziellen" Namen besitzt,
aber dennoch eindeutig erkannt werden mu.
Alle Buttons im Fenster und in der Toolbar untersttzen die Bubble-
Help (Anklicken des gewnschten Buttons mit der _rechten_ Maus-
taste), so da sich eine weitere Erklrung hier erbrigt.
Unter MultiTOS bzw. mit dem ICFS-Server wird auch Iconification
untersttzt. In dem Icon-Fenster wird dann nur noch die Anzahl der
gefundenen XAcc-/AV-Applikationen angezeigt.


"Debugging"
-----------
Singletasking-TOS:
Wird XAcc-Spy als Programm gestartet, sollten sofort alle ge-
fundenen XAcc-Applikationen angezeigt werden; an deren Zahl
darf sich eigentlich nichts mehr ndern.
Beim Einsatz als Accessory ist es normal, da sich nach jedem
Start oder Verlassen eines Hauptprogramms die Liste ndert,
je nachdem ob das Hauptprogramm XAcc untersttzt oder nicht
(unter dem GEM-Desktop z.B. ist die Liste immer leer). Aller-
dings kann man bei einigen Accessories beobachten, da diese
_nur_ mit dem Hauptprogramm kommunizieren und nicht (wie es die
XAcc-Definition vorsieht) auch mit den anderen Accessories...
Multitasking-TOS:
Die Liste sollte fr das Accessory bzw. fr das Programm
gleich aussehen. Unterschiede wird es nur geben, wenn andere
Programme evtl. die XAcc-Multitasking-Definition nicht kennen.
Wird ein neues XAcc-Programm oder -Accessory gestartet (oder
verlassen), reagiert der XAcc-Spy mit einem automatischen Up-
date der Liste!

Ein paar Beispiele, welche Programme was anzeigen:
ObjectGEM-Programme geben normalerweise an, da sie die Message-
Groups 1 und 2 verstehen (meistens wird eine entsprechende An-
frage allerdings per ACC_ACK zurckgewiesen, siehe ObjectGEM-
Doku). Diese Applikationen sollten allgemein _keine_ Probleme
mit XAcc haben. Auerdem verstehen ObjectGEM-Programme sowohl
das XAcc- als auch das AV-Protokoll.
Mit CAT kann man sehr schn die "Extended Names" sehen. So
wird als Applikationstyp "DB" (fr Datenbank) bzw. etwas les-
barer "MausTausch-Programm" zurckgegeben. Leider ist die
Abmeldung beim Programmende unter MultiTOS noch nicht ganz
korrekt.
Am besten (der von mir getesteten Programme) wird das XAcc-
Protokoll von Connect beherrscht. Unter MultiTOS sieht es
wirklich toll aus, wenn die XAcc-Liste bei Programmstart und
-ende entsprechend aktualisiert wird :-)


Was man sonst noch ber XAcc-Spy wissen sollte
----------------------------------------------
Wie man vielleicht am beiliegenden Quelltext erkennt, ist XAcc-Spy
ein ObjectGEM-Programm. Zur Programmierung wurde die neue ObjectGEM-
Version 1.17 verwendet.
Aus dem objektorientierten Ansatz ergibt sich eine fr ein "Diagnose"-
Programm unbliche Gre. XAcc-Spy ist allerdings nicht unbedingt zum
dauerhaften Einsatz vorgesehen, sondern eigentlich dazu, um "mal eben"
zu berprfen, ob ein Programm das XAcc-Protokoll korrekt beherrscht.
Auerdem ist der Quelltext recht bersichtlich und entsprechend ein-
fach zu warten. Und man darf nicht vergessen, da der Spion FREEWARE
ist, weshalb er von mir auch zum Testen der neuesten ObjectGEM-
Features "mibraucht" wird...

Schlielich mu ich noch darauf hinweisen, da XAcc-Spy bei mir zwar
wunderbar luft, da ich dies aber nicht garantieren kann. Wer XAcc-
Spy einsetzt, tut dies AUF EIGENE GEFAHR. Sollte tatschlich ein
Fehler auftreten und ich davon erfahren, werde ich diesen nach
Mglichkeit eliminieren.

So, nun aber viel Spa beim "XAcc-debuggen", auf da mglichst viele
"schwarze Schafe" entlarvt werden, damit sich das XAcc-Protokoll
noch besser durchsetzen kann! ;-)




Bekannte Bugs
-------------
- bei zwei installierten XAcc-Spionen kann es unter "normalem" TOS
  zu Problemen mit der Resource kommen; Bugfixing luft...


Release-History
---------------
09.09.94
- Fenster-Men, Icons in Icon-Fenstern
19.07.94
- kleinere Korrekturen und Anpassung an neue ObjectGEM-Version
19.05.94
- Mag!X-Anpassung
- Absturz mit Mag!X+Gemini endgltig beseitigt (war ein Gemini-Bug...)
14.04.94
- Probleme mit Winx beseitigt
- mit Mag!X+Gemini gibt es keinen Absturz mehr (noch ein PP-Bug...)
25.03.94
- komplette berarbeitung der Oberflche
- das AV-Protokoll wird ausgewertet
- History-Fenster zum Mitprotokollieren der empfangenen Messages
- ein Bug, durch den bei Verwendung von XAcc-Spy als Acc evtl. nicht
  alle anderen XAcc-Accs erkannten wurden, ist beseitigt
04.02.94
- die drei Bomben unter alten TOS-Versionen (bzw. die Memory Violation
  unter MultiTOS) sollten beseitigt sein (offensichtlich ein PP-Bug...)
26.01.94
- erste ffentliche Version
