Protokolle
Protokolle
BubbleGEM
Das AV-Protokoll (Accessory-Venus) wurde von Stefan
Eissing entwickelt und zuerst im alternativen Desktop
Gemini eingesetzt. Mittlerweile wird dieses Protokoll jedoch
von vielen weiteren Shells (Ease, MagXDesk, Thing, ...) unterstützt.
Dieser Abschnitt beschreibt die Version des Protokolls aus der
Gemini-Distribution vom 29. Januar 1995 (Gemini 1.a).
Die Kommunikation zwischen zwei Prozessen erfolgt beim
AV-Protokoll über den Austausch von (erweiterten) AES-Nachrichten, die sich
einer der folgenden Kategorien zuteilen lassen:
Achtung: An dieser Stelle sei darauf hingewiesen, daß
im Hinblick auf zukünftige Betriebssystem-Versionen zur Kommunikation
zwischen verschiedenen Programmen benutzte oder über Zeiger
zugewiesene Speicherbereiche global sein müssen (Mxalloc-Funktion mit
Global-Flag). Andernfalls wird es beim Einsatz auf Rechnern mit PMMU
(z.B. Atari-TT oder Falcon) zu Speicherschutzverletzungen kommen.
Sollten in Nachrichten Pfade oder Dateinamen vorkommen, so muß immer
der absolute Pfad angegeben werden (also mit Laufwerk) und die
Laufwerksbuchstaben müssen Großbuchstaben sein. Pfade
sollten immer mit einem Backslash enden!
Mit AV_PROTOKOLL kann jede Applikation nachfragen, welche Nachrichten
verstanden werden (nicht alle Shells unterstützen das vollständige
Protokoll). Es wäre schön, wenn auch andere Programme auf dieses
Protokoll reagieren würden. Zumindest AV_SENDKEY ist sicher leicht zu
implementieren und ist die einzige Methode, wie über Nachrichten
Tastaturdrücke simuliert werden können.
Unter normalem TOS fragt dazu ein Accessorie, wenn es eine
AC_CLOSE-Nachricht vom AES erhalten hat, die Applikation (mit ID) 0
per AV_PROTOKOLL ob sie etwas davon versteht. In einer Multitasking-Umgebung
(MultiTOS, MiNT/N.AES oder MagiC) muß aber das Programm nicht mehr
die ID 0 haben, zudem kommt es (fast) nicht mehr zu AC_CLOSE-Nachrichten.
Außerdem können nicht nur Accessories, sondern auch normale
Programme mit dem AV-Server kommunizieren wollen. Was tun?
Wenn es mehr als eine Hauptapplikation geben kann, dann sollte
das Programm bzw. Accessory versuchen, mit GEMINI Kontakt aufzunehmen.
Die ID kann ja mit appl_find ermittelt werden. Scheitert dies, so kann
noch nach AVSERVER oder dem Inhalt der (AES)-Environmentvariable
AVSERVER gesucht werden. Besonders die letzte Möglichkeit erlaubt
eine leichte Konfiguration von außen. Die neuen Versionen der Library
VAFUNC von Stephan Gerle (in gutsortierten Mailboxen
erhältlich) verfahren fast genauso.
Querverweis: Nachrichten Drag&Drop-Protokoll OLGA-Protokoll
Mit Quoting ist im AV-Protkoll gemeint, daß Dateinamen optional
mit einfachen Anführungszeichen 'name' versehen werden können. Dies
ist aber nur erlaubt, wenn beide Parteien (Server und Client) sich
darüber einig sind, d.h. es verstehen können.
Wie geht das also vor sich? Angenommen der Server schickt an
eine Applikation einen Dateinamen, der ein Leerzeichen enthält. Eine
Applikation, die Quoting nicht kann, wird statt einem
zwei Dateinamen erkennen, da normalerweise Leerzeichen
Dateinamen trennen. Versteht die Applikation aber Quoting (Bit 4 in
seinem Protokollstatus), so wird der Server den Dateinamen mit ''
umgeben und die Applikation erkennt, daß das Leerzeichen zum
Dateinamen gehört. Gleiches gilt natürlich auch für Dateinamen, die
von einer Applikation an einen Server geschickt werden.
Die Frage bleibt, wie man denn nun einfache Anführungszeichen
überträgt. Nun, solche Zeichen, die zum Dateinamen gehören, werden
einfach verdoppelt. Aus Zorro's Hypertext wird für die Übertragung
'Zorro''s Hypertext'. In diesen Fällen wird also die gleiche Methode
wie beim Drag&Drop-Protokoll eingesetzt.
Querverweis:
AV_PROTOKOLL VA_ACC_QUOTING(a) VA_SERVER_QUOTING(a)
VA_PROTOSTATUS Drag&Drop-Protokoll
Diese Nachrichten werden von einer Applikation an Gemini bzw.
einen vorhandenen AV-Server geschickt.
Querverweis: VA-Funktionen Nachrichten
Name: |
»AV_ACCWINDCLOSED«
|
Nummer: |
0x4726
|
Beschreibung: |
Eine Applikation teilt dem AV-Server mit, daß ein Fenster
geschlossen wurde. Dies braucht die Applikation nur in dem Fall zu
tun, wenn sie selbst das Fenster schließt.
Parameter |
Bedeutung |
Word 3 |
AES-Handle des Fensters |
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_ACCWINDOPEN AV-Protokoll
|
Name: |
»AV_ACCWINDOPEN«
|
Nummer: |
0x4724
|
Beschreibung: |
Mit dieser Nachricht kann eine Applikation dem AV-Server
mitteilen, daß sie ein Fenster geöffnet hat.
Parameter |
Bedeutung |
Word 3 |
AES-Handle des geöffneten Fensters |
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_ACCWINDCLOSED AV-Protokoll
|
Name: |
»AV_ASKOBJECT«
|
Nummer: |
0x4716
|
Beschreibung: |
Mit dieser Nachricht fragt eine Applikation den AV-Server nach
dem derzeit selektierten Objekt. Es wird der Name des derzeit
selektierten Objektes zurückgegeben; ist kein Objekt selektiert, so
ist der String leer.
Falls mehrere Objekte selektiert sind, so sind ihre Namen durch
Leerzeichen getrennt.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_OBJECT AV-Protokoll
|
Name: |
»AV_COPY_DRAGGED«
|
Nummer: |
0x4728
|
Beschreibung: |
Über diese Nachricht teilt eine Applikation dem AV-Server mit,
daß die Objekte, die auf sein Fenster gezogen wurden, zu kopieren
sind. Dies kann z.B. nach dem Ziehen von Objekten auf das
TreeView-Fenster erwünscht sein.
Parameter |
Bedeutung |
Word 3 |
Status der Tastatur (Alt,Control,Shift) |
Word 4+5 |
Zeiger auf einen String, der den Namen des Zielobjektes enthält. |
|
Achtung: Dies muss ein Pfad sein. |
Diese Nachricht ist nur als Antwort auf die Mitteilung VA_DRAGACCWIND
gedacht.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_DRAGACCWIND AV-Protokoll
|
Name: |
»AV_COPYFILE«
|
Nummer: |
0x4755
|
Beschreibung: |
Dieser Befehl weist den AV-Server an, bestimmte Dateien oder
Ordner zu kopieren bzw. zu verschieben.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf Quelldateien/Ordner |
Word 5+6 |
Zeiger auf den Zielordner |
Word 7 |
Verschiedene Flags |
|
Bit 0 = Originale löschen |
|
Bit 1 = Kopien umbenennen |
|
Bit 2 = Ziel einfach überschreiben |
|
Bit 3 = Nur symbolische Links der Quellen erzeugen |
|
= (Bit 0 ist dann bedeutungslos) |
|
Bit 4-15 = reserviert, immer 0 |
Mehrere Dateien müssen durch Leerzeichen voneinander getrennt,
und Ordner stets mit abschließendem '\' angegeben werden.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_FILECOPIED AV-Protokoll
|
Name: |
»AV_DELFILE«
|
Nummer: |
0x4757
|
Beschreibung: |
Dieser Befehl weist den AV-Server an, bestimmte Dateien bzw.
Ordner zu löschen.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf die zu löschenden Dateien bzw. Ordner |
Word 5-7 |
reserviert (immer 0) |
Mehrere Dateien bzw. Ordner müssen stets durch Leerzeichen
getrennt, und Ordner immer mit abschließendem '\' angegeben werden.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_FILEDELETED AV-Protokoll
|
Name: |
»AV_DRAG_ON_WINDOW«
|
Nummer: |
0x4734
|
Beschreibung: |
Eine Applikation teilt dem AV-Server mit, daß Objekte auf
eines seiner mittels AV_WHATIZIT erfragten Fenster gezogen worden
sind.
Parameter |
Bedeutung |
Word 3 |
x-Position, wohin die Maus gezogen wurde |
Word 4 |
y-Position, wohin die Maus gezogen wurde |
Word 5 |
Status der Tastatur (Alt,Control,Shift) |
Word 6+7 |
Zeiger auf einen String, der die Namen der Objekte enthält. |
Die Namen sind Namen von Dateien, Ordnern oder Laufwerken,
jeweils durch ein Leerzeichen getrennt. Namen von Ordnern oder
Laufwerken enden mit einem Backslash.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_DRAG_COMPLETE VA_DRAGACCWIND AV-Protokoll
|
Name: |
»AV_EXIT«
|
Nummer: |
0x4736
|
Beschreibung: |
Eine Applikation teilt dem AV-Server mit, daß sie nicht mehr
am Protokoll teilnimmt.
Parameter |
Bedeutung |
Word 3 |
AES-ID der Applikation |
Das Absetzen dieser Nachricht sollte auf keinen Fall vergessen
werden!
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
appl_init AV-Protokoll
|
Name: |
»AV_FILEINFO«
|
Nummer: |
0x4753
|
Beschreibung: |
Mit diesem Befehl wird der AV-Server aufgefordert, einen
Informations-Dialog für eine bestimmte Datei bzw. einen Ordner
anzuzeigen.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf Datei bzw. Ordnernamen (ggfs. durch Leerzeichen getrennt) |
Word 5-7 |
reserviert (immer 0) |
Mehrere Ordner bzw. Dateien werden durch Leerzeichen getrennt.
Ordnernamen müssen mit abschließendem '\' übergeben werden.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_FILECHANGED AV-Protokoll
|
Name: |
»AV_GETSTATUS«
|
Nummer: |
0x4703
|
Beschreibung: |
Eine Applikation erfragt beim AV-Server den aktuellen Status,
den es diesem per AV_STATUS einmal gegeben hat.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_STATUS AV-Protokoll
|
Name: |
»AV_OPENCONSOLE«
|
Nummer: |
0x4718
|
Beschreibung: |
Eine Applikation fordert den AV-Server auf, das Console-Fenster
zu öffnen. Ist dieses bereits offen, so wird es nach vorne gebracht.
Diese Aktion ist vor allem dann sinnvoll, wenn eine Applikation
ein TOS-Programm mittels der system-Funktion starten möchte.
Achtung: GEM-Programme dürfen von einer Applikation
auf keinen Fall per system gestartet werden. Ferner sollte
diese Nachricht nur auf ausdrücklichen Wunsch des Benutzers
eingesetzt werden, da sie ansonsten schnell zur Verwirrung führen
kann.
Diese Nachricht steht z.Zt. nur in Gemini zur Verfügung.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_OPENWIND AV_XWIND VA_CONSOLEOPEN VA_XOPEN
VA_WINDOPEN AV_STARTPROG
|
Name: |
»AV_OPENWIND«
|
Nummer: |
0x4720
|
Beschreibung: |
Eine Applikation fordert den AV-Server auf, ein Datei-Fenster
zu öffnen.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf den Pfad des Fensters |
Word 5+6 |
Zeiger auf Wildcard der darzustellenden Daten |
Die Nachricht sollte nur dann eingesetzt werden, wenn die
Ursache für den Benutzer klar ersichtlich ist.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_OPENCONSOLE AV_XWIND VA_CONSOLEOPEN VA_WINDOPEN
VA_XOPEN
|
Name: |
»AV_PATH_UPDATE«
|
Nummer: |
0x4730
|
Beschreibung: |
Eine Applikation teilt dem AV-Server mit, daß sich der Inhalt
eines Verzeichnisses geändert hat. Dieses kann dann neu eingelesen
bzw. dargestellt werden.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf den absoluten Pfad |
In Gemini wirkt dies auch auf die Unterverzeichnisse. Ein Update
von 'C:\' sorgt also dafür, daß alles, was mit Laufwerk C:\ zu tun
hat, aktualisiert wird.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_OPENWIND AV_XWIND AV-Protokoll
|
Name: |
»AV_PROTOKOLL«
|
Nummer: |
0x4700
|
Beschreibung: |
Mit dieser Nachricht sollte bei anderen Applikationen und dem
AV-Server nachgefragt werden, ob und welche Nachrichten verstanden
werden.
Parameter |
Bedeutung |
Word 3 |
Bit 0 = VA_SETSTATUS |
|
Bit 1 = VA_START |
|
Bit 2 = AV_STARTED |
|
Bit 3 = VA_FONTCHANGED |
|
Bit 4 = Quoting von Dateinamen wird verstanden und benutzt |
|
Bit 5 = VA_PATH_UPDATE |
|
Bit 6-15 = reserviert, immer 0 |
Word 4+5 |
reserviert, immer 0 |
Word 6+7 |
Zeiger auf den Programm-Namen wie er |
|
auch bei appl_find übergeben |
|
werden muß (8 Zeichen lang und nullterminiert). |
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_STARTED VA_FONTCHANGED VA_SETSTATUS VA_START
|
Name: |
»AV_SENDCLICK«
|
Nummer: |
0x4709
|
Beschreibung: |
Eine Applikation schickt dem AV-Server einen Maus-Event.
Parameter |
Bedeutung |
Word 3 |
ev_mmox |
Word 4 |
ev_mmoy |
Word 5 |
ev_mmobutton |
Word 6 |
ev_mmokstate |
Word 7 |
ev_mbreturn |
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
evnt_button evnt_multi
|
Name: |
»AV_SENDKEY«
|
Nummer: |
0x4710
|
Beschreibung: |
Eine Applikation schickt dem AV-Server einen Tastatur-Event,
den sie möglicherweise selbst nicht versteht.
Parameter |
Bedeutung |
Word 3 |
Status der Tastatur (ev_mmokstate) |
Word 4 |
Scancode der Taste (ev_mkreturn) |
Als inoffizielle Erweiterung ("CodeAlpha") existiert
ein Konzept, mit dem auch ASCII Zeichen übertragen werden können, zu
denen kein Scancode existiert. Hierzu wird als Scancode 0, als ASCII
Wert der gewünschte und in msg[5] der Wert $5048 übergeben,
letzteres um anzuzeigen, daß msg[4] tatsächlich gültig ist und
keine Umrechnung über Scancode-Tabellen erforderlich ist.
Diese Nachricht sollte nach Möglichkeit immer unterstützt
werden, da mit ihrer Hilfe u.a. ein applikationsübergreifendes
Wechseln der Fenster realisiert werden kann.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
evnt_keybd evnt_multi Scan-Code Tabelle
|
Name: |
»AV_SETWINDPOS«
|
Nummer: |
0x4759
|
Beschreibung: |
Mit diesem Befehl kann ein Client angeben, an welcher Position
und mit welcher Größe das nächste Verzeichnisfenster vom AV-Server
geöffnet werden soll.
Parameter |
Bedeutung |
Word 3 |
x-Position |
Word 4 |
y-Position |
Word 5 |
Breite |
Word 6 |
Höhe des Fensters |
Word 7 |
reserviert (immer 0) |
Bei den Werten in Word-3 und Word-4 handelt es sich um
absolute Koordinaten. Wird durch AV_XWIND kein neues Fenster
geöffnet (sondern nur ein bereits geöffnetes Fenster getoppt), so
hat dieser Befehl keine Wirkung.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_OPENWIND AV_XWIND
|
Name: |
»AV_STARTED«
|
Nummer: |
0x4738
|
Beschreibung: |
Eine Applikation teilt dem AV-Server mit, daß es die
VA_START-Nachricht verstanden hat. Der Server kann daraufhin den
Speicher des Strings, der an die Nachricht gehängt war, freigeben.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf eine Kommandozeile, in der Pfad oder |
|
Dateinamen stehen können, und der auch NULL sein darf. |
Um zu erkennen, um welche VA_START-Nachricht es sich handelt,
werden die Werte von VA_START zurückgeliefert.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_START AV-Protokoll
|
Name: |
»AV_STARTPROG«
|
Nummer: |
0x4722
|
Beschreibung: |
Eine Applikation fordert den AV-Server auf, ein Programm zu
starten.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf den Programmnamen mit komplettem Pfad |
Word 5+6 |
Zeiger auf eine Kommandozeile (kann NULL sein) |
Word 7 |
beliebiges 16-Bit Wort, welches in VA_PROGSTART wieder zurückgeliefert wird. |
In Gemini werden auch die angemeldeten Applikationen mit
berücksichtigt. Dadurch ist es möglich eine Datei anzugeben, für
die dann ein Programm gesucht wird.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_PROGSTART AV-Protokoll
|
Name: |
»AV_STATUS«
|
Nummer: |
0x4704
|
Beschreibung: |
Eine Applikation teilt dem AV-Server seinen Status mit, der von
diesem gespeichert und später per AV_GETSTATUS wieder abgefragt werden
kann.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf einen String der keine Steuerzeichen |
|
enthalten, und nicht länger als 256 Zeichen |
|
sein darf. Der Zeiger darf auch NULL sein. |
Die Applikation muss sich vorher beim Server per AV_PROTOKOLL
angemeldet haben.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_GETSTATUS AV_PROTOKOLL AV-Protokoll
|
Name: |
»AV_VIEW«
|
Nummer: |
0x4751
|
Beschreibung: |
Mit diesem Befehl wird der AV-Server angewiesen, den Viewer
für eine bestimmte Datei aufzurufen.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf den Namen der anzuzeigenden Datei. |
Word 5 |
0 = Startet den Viewer |
|
1 = Startet den Editor |
Word 6-7 |
reserviert (immer 0) |
Es darf nur eine einzelne Datei angegeben werden; ist
kein entsprechender Viewer vorhanden, so erhält der Benutzer eine
Fehlermeldung.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_VIEWED AV-Protokoll
|
Name: |
»AV_WHAT_IZIT«
|
Nummer: |
0x4732
|
Beschreibung: |
Eine Applikation fragt beim AV-Server nach, was sich an einer
bestimmten Position auf dem Bildschirm befindet.
Parameter |
Bedeutung |
Word 3 |
x-Koordinate |
Word 4 |
y-Koordinate |
Die Koordinaten sind normale Pixelkoordinaten mit Ursprung in
der linken oberen Bildschirmecke.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
VA_THAT_IZIT AV-Protokoll
|
Name: |
»AV_XWIND«
|
Nummer: |
0x4740
|
Beschreibung: |
Eine Applikation fordert den AV-Server auf, ein Datei-Fenster
zu öffnen. Es gilt:
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf den Pfad für das Fenster |
Word 5+6 |
Zeiger auf Wildcard als Filter für die Anzeige |
Word 7 |
Bitmaske |
|
0x0001 = Fenster evtl. toppen |
|
0x0002 = Wildcard soll nur selektieren |
|
0x0004 = Vorhandenes Fenster soll |
|
weiterverwendet werden. |
|
Alle anderen Bits müssen auf Null gesetzt werden. |
Diese Nachricht sollte nur dann eingesetzt werden, wenn die
Ursache für den Benutzer klar ersichtlich ist.
|
Gruppe: |
AV-Funktionen
|
Querverweis: |
AV_OPENCONSOLE AV_OPENWIND VA_CONSOLEOPEN VA_WINDOPEN
VA_XOPEN AV-Protokoll
|
Diese Nachrichten werden von einem vorhandenen AV-Server an eine
Applikation geschickt.
Querverweis: AV-Funktionen Nachrichten
Dies ist ein Test des Protokollstatus auf Quoting. In C läßt
sich der Test als Makro wie folgt realisieren:
#define VA_ACC_QUOTING(a) ((a) & 0x10)
Name: |
»VA_CONFONT«
|
Nummer: |
0x4715
|
Beschreibung: |
Liefert den derzeit eingestellten Zeichensatz für das
Console-Fenster. Es gilt:
Parameter |
Bedeutung |
Word 3 |
Zeichensatznummer (ID) |
Word 4 |
Zeichensatzgröße (Points) |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_ASKCONFONT AV_ASKFILEFONT VA_FILEFONT
|
Name: |
»VA_CONSOLEOPEN«
|
Nummer: |
0x4719
|
Beschreibung: |
Gibt zurück, ob das Console-Fenster nach vorne gebracht worden
ist.
Parameter |
Bedeutung |
Word 3 |
0 = nein |
|
<>0 = ja |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_OPENCONSOLE AV-Protokoll
|
Name: |
»VA_COPY_COMPLETE«
|
Nummer: |
0x4729
|
Beschreibung: |
Diese Nachricht ist eine direkte Antwort auf AV_COPY_DRAGGED.
Parameter |
Bedeutung |
Word 3 |
Status des Kopierens |
Ein Wert <> 0 gibt an, daß wirklich etwas kopiert oder
verschoben worden ist. Dies kann die Applikation evtl. zum Neuaufbau
eines Fensters nutzen.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_COPY_DRAGGED AV-Protokoll
|
Name: |
»VA_DRAGACCWIND«
|
Nummer: |
0x4725
|
Beschreibung: |
Der AV-Server teilt einer Applikation mit, daß Objekte auf
eines seiner mittels AV_ACCWINDOPEN angemeldeten Fenster gezogen
worden sind.
Parameter |
Bedeutung |
Word 3 |
AES-Handle des Fensters |
Word 4 |
x-Position der Maus |
Word 5 |
y-Position der Maus |
Word 6+7 |
Zeiger auf einen String, der die Namen der Objekte enthält. |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_ACCWINDOPEN AV_ACCWINDCLOSED AV_DRAG_ON_WINDOW
|
Name: |
»VA_DRAG_COMPLETE«
|
Nummer: |
0x4735
|
Beschreibung: |
Der AV-Server teilt einer Applikation mit, daß die Aktion die
per AV_DRAG_ON_WINDOW ausgelöst wurde, beendet ist.
Parameter |
Bedeutung
|
Word 3 |
Status der Aktion
Ein Wert <> 0 bedeutet, daß wirklich etwas kopiert oder
verschoben wurde. Dies kann die Applikation evtl. zum Neuaufbau eines
Fensters nutzen.
|
Der zurückgelieferte Wert entspricht dem, der auch bei
AV_COPY_COMPLETE zurück gegeben wird.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_DRAG_ON_WINDOW VA_DRAGACCWIND AV-Protokoll
|
Name: |
»VA_FILECHANGED«
|
Nummer: |
0x4754
|
Beschreibung: |
Diese Nachricht wird vom AV-Server als Antwort auf eine
AV_FILEINFO-Message an den Client geschickt.
Parameter |
Bedeutung
|
Word 3+4 |
Zeiger auf die Namen der Dateien bzw. Ordner die bei AV_FILEINFO
übergeben wurden.
|
Word 5-7 |
reserviert (immer 0)
|
Beachtet werden sollte, daß der Benutzer die Dateinamen im
Dialog verändert haben könnte, und deshalb ggfs. der über die
Wörter 3+4 erreichbare String nicht mehr mit dem von AV_FILEINFO
übereinstimmt.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_FILEINFO AV-Protokoll
|
Name: |
»VA_FILECOPIED«
|
Nummer: |
0x4756
|
Beschreibung: |
Diese Nachricht wird vom AV-Server als Antwort auf eine
AV_COPYFILE-Message an den Client geschickt.
Parameter |
Bedeutung |
Word 3 |
0 = Fehler |
|
1 = alles ok |
Word 4-7 |
reserviert (immer 0) |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_COPYFILE AV-Protokoll
|
Name: |
»VA_FILEDELETED«
|
Nummer: |
0x4758
|
Beschreibung: |
Diese Nachricht wird vom AV-Server als Antwort auf eine
AV_DELFILE-Message an den Client geschickt.
Parameter |
Bedeutung |
Word 3 |
0 = Fehler |
|
1 = alles ok |
Word 4-7 |
reserviert (immer 0) |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_DELFILE AV-Protokoll
|
Name: |
»VA_FILEFONT«
|
Nummer: |
0x4713
|
Beschreibung: |
Liefert den derzeit eingestellten Zeichensatz für ein
Dateifenster zurück.
Parameter |
Bedeutung |
Word 3 |
Zeichensatznummer (ID) |
Word 4 |
Zeichensatzgröße (Points) |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_ASKCONFONT AV_ASKFILEFONT VA_CONFONT
|
Name: |
»VA_FONTCHANGED«
|
Nummer: |
0x4739
|
Beschreibung: |
Der AV-Server informiert eine Applikation darüber, daß sich
einer der eingestellten Zeichensätze verändert hat.
Parameter |
Bedeutung |
Word 3 |
Zeichensatz für Dateifenster (ID) |
Word 4 |
Größe des Zeichensatzes (Points) |
Word 5 |
Zeichensatz für Console-Fenster (ID) |
Word 6 |
Größe des Zeichensatzes (Points) |
Die Nachricht wird an alle Applikationen geschickt, die vorher
schon einmal einen Zeichensatz beim AV-Server erfragt haben.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_ASKCONFONT AV_ASKFILEFONT VA_FILEFONT
|
Name: |
»VA_OBJECT«
|
Nummer: |
0x4717
|
Beschreibung: |
Liefert die Namen der derzeit selektierten Objekte.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf eine Kommandozeile mit den Namen der selektierten Objekte. |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_ASKOBJECT AV-Protokoll
|
Name: |
»VA_PATH_UPDATE«
|
Nummer: |
0x4760
|
Beschreibung: |
Mit dieser Nachricht teilt der AV-Server einem Client mit, daß
sich der Inhalt eines Verzeichnisses geändert hat.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf das Verzeichnis |
Word 5-7 |
reserviert (immer 0) |
Das angegebene Verzeichnis ist stets mit dem Zeichen '\'
abgeschlossen. Der Client muss zunächst per AV_PROTOKOLL anzeigen,
daß er diese Nachricht versteht, und beim Eintreffen derselben dann
alle betroffenen Unterverzeichnisse neu einlesen bzw. schließen.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_PROTOKOLL AV-Protokoll
|
Name: |
»VA_PROGSTART«
|
Nummer: |
0x4723
|
Beschreibung: |
Der AV-Server informiert eine Applikation, ob ein angegebenes
Programm gestartet wurde.
Parameter |
Bedeutung |
Word 3 |
0 = nicht gestartet |
|
<>0 = gestartet |
Word 4 |
Returncode des Programms |
Word 7 |
16-Bit Wort aus AV_STARTPROG |
Im allgemeinen wird die Applikation im Fehlerfall sofort eine
Nachricht bekommen; falls das Programm aber gestartet wird, erhält
die Applikation diese Nachricht erst nach dem Start des Programms, da
die Routine, welche den Pexec ausführt, nicht mehr wissen kann, das
eine Applikation noch schnell eine Nachricht bekommen muss. Bei einem
GEM-Programm kann man den Erfolg auch an dem AC_CLOSE erkennen.
Die Fehlererkennung ist leider nicht optimal; ferner weist der
Rückgabewert nicht aus, ob das Programm fehlerfrei gelaufen ist.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_STARTPROG VA_START AV-Protokoll
|
Name: |
»VA_PROTOSTATUS«
|
Nummer: |
0x4701
|
Beschreibung: |
Dem Sender von AV_PROTOKOLL wird mitgeteilt, daß der
Empfänger etwas von diesem Protokoll weiß. Die Worte 3-7 des
Nachrichtenpuffers enthalten die Information, welche Nachrichten
verstanden werden.
Gesetzte Bits signalisieren, daß eine Nachricht bzw. eine
Nachrichtengruppe verstanden wird. Alle nicht belegten Bits
(insbesondere in den Worten 4 und 5) sind für zukünftige Zwecke
reserviert, und sollten daher mit Null vorbesetzt werden.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_PROTOKOLL AV-Protokoll
|
Dies ist ein Test des Protokollstatus auf Quoting. In C läßt
sich der Test als Makro wie folgt realisieren:
#define VA_SERVER_QUOTING(a) ((a) & 0x40)
Name: |
»VA_SETSTATUS«
|
Nummer: |
0x4705
|
Beschreibung: |
Der AV-Server teilt einer Applikation den abgespeicherten
Status bei Nachfrage durch AV_GETSTATUS mit.
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf einen String, der keine Steuerzeichen |
|
enthält. Ein NULL-Wert gibt an, daß kein Status |
|
gespeichert war. |
Der gelieferte Status kann anschließend von der Applikation
gesetzt werden.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_GETSTATUS AV-Protokoll
|
Name: |
»VA_START«
|
Nummer: |
0x4711
|
Beschreibung: |
Diese Nachricht wird vom AV-Server zum Start einer Applikation
benötigt. Es gilt:
Parameter |
Bedeutung |
Word 3+4 |
Zeiger auf eine Kommandozeile, in welcher |
|
Pfade oder Dateinamen stehen, oder NULL. |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_STARTPROG AV_STARTED VA_PROGSTART
|
Name: |
»VA_THAT_IZIT«
|
Nummer: |
0x4733
|
Beschreibung: |
Der AV-Server teilt einer Applikation auf Nachfrage mit, was
sich an einer bestimmten Position auf dem Bildschirm befindet.
Parameter |
Bedeutung |
Word 3 |
ID der zuständigen Applikation |
Word 4 |
Typ des Objektes |
|
VA_OB_UNKNOWN (0) = unbekannt |
|
VA_OB_TRASHCAN (1) = Papierkorb |
|
VA_OB_SHREDDER (2) = Reißwolf |
|
VA_OB_CLIPBOARD (3) = Klemmbrett |
|
VA_OB_FILE (4) = Datei |
|
VA_OB_FOLDER (5) = Ordner |
|
VA_OB_DRIVE (6) = Laufwerkssymbol |
|
VA_OB_WINDOW (7) = Fenster |
|
VA_OB_NOTEPAD (8) = Notizblock |
|
VA_OB_NOTE (9) = |
Word 5+6 |
Zeiger auf den Namen des Objektes, oder NULL. |
Alle anderen Werte sind für zukünftige Zwecke reserviert.
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_WHAT_IZIT AV-Protokoll
|
Name: |
»VA_VIEWED«
|
Nummer: |
0x4752
|
Beschreibung: |
Diese Nachricht wird vom AV-Server als Antwort auf eine
AV_VIEW-Message an den Client verschickt.
Parameter |
Bedeutung |
Word 3 |
0 = Fehler |
|
1 = alles ok |
Word 4-7 |
reserviert (immer 0) |
Mit Hilfe dieser Nachricht teilt der Server dem Client mit, ob
die gewünschte Datei angezeigt wird, oder nicht. Die Antwort wird
sofort und immer verschickt, falls ein Fehler aufgetreten ist;
anderenfalls erhält man die Antwort in einer Multitasking-Umgebung
sobald der Viewer aktiv ist (oder unter Single-TOS nach Beendigung des
Viewers) falls der Server nicht vorher beendet wurde (z.B. durch
Auslagerung vor dem Start des Viewers).
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_VIEW AV-Protokoll
|
Name: |
»VA_XOPEN«
|
Nummer: |
0x4741
|
Beschreibung: |
Der AV-Server informiert eine Applikation darüber, ob ein
angegebenes Fenster geöffnet werden konnte.
Parameter |
Bedeutung |
Word 3 |
0 = nein |
|
<>0 = ja |
|
Gruppe: |
VA-Funktionen
|
Querverweis: |
AV_OPENWIND AV_XWIND VA_WINDOPEN
|
Protokolle
Protokolle
BubbleGEM