Wenn eine Applikation globale Werte des OLGA-Managers abfragen möchte, schickt sie ihm folgende Message:
OLGA_GETSETTINGS (App -> Manager) msg[0] $124e (4686) msg[1] apID msg[2] 0 msg[3] 0 msg[4] 0 msg[5] 0 msg[6] 0 msg[7] 0
Als Antwort bekommt man folgende Message. Die Felder msg[4..7] darf man nur auswerten, wenn in msg[3] eine 1 eingetragen ist!
OLGA_SETTINGS (Manager -> App) msg[0] $124f (4687) msg[1] manID msg[2] 0 msg[3] 1=OK, 0=Fehler msg[4] reserviert (z.Z. 0) msg[5] reserviert (z.Z. 0) msg[6] reserviert (z.Z. 0) msg[7] reserviert (z.Z. 0)
Derzeit werden noch keine Manager-internen Daten zurückgeliefert!
Object Linking for GEM Applications OLGA Rev 1.5Falls man doch einmal eine OLGA-Server-Applikation direkt ansprechen möchte (aus welchem Grund auch immer...), kann man mit dieser Nachricht den Server für eine gegebene Extension erfragen:
OLGA_GETSERVERPATH (Client -> Manager) msg[0] $125a (4698) msg[1] clientID msg[2] 0 msg[3] + Extension (z.B. ".TIF") msg[4] msg[5] 0 msg[6] 0 msg[7] 0
Als Antwort erhält der Client die Nachricht OLGA_SERVERPATH. Falls zu der gewünschten Extension ein Server definiert ist, wird dessen Pfad+Dateiname in msg[5/6] zurückgeliefert, ansonsten sind diese beiden Einträge ausgenullt. Wenn ein Server existiert, wird durch Bit 0 von msg[7] angezeigt, ob der Server gleichzeitig auch ID4-Server ist.
OLGA_SERVERPATH (Manager -> Client) msg[0] $125b (4699) msg[1] manID msg[2] 0 msg[3] + gleiche Extension wie in OLGA_GETSERVERPATH msg[4] msg[5] + Pointer auf den Dateinamen des Servers (incl. Pfad) oder NULL msg[6] msg[7] Bitmap aus OL_SRV_xxx-Konstanten OL_SRV_ID4 = $0001 Server ist auch ID4-Server
Wenn in msg[5/6] ein Serverpfad geliefert wurde, muß der Client dem Manager abschließend noch folgende Message schicken, damit der Manager den reservierten Speicher wieder freigeben kann.
OLGA_ACK (Client -> Manager) msg[0] $1239 (4665) msg[1] clientID msg[2] 0 msg[3] 0 msg[4] 0 msg[5] + exakt dieselben Werte aus OLGA_SERVERPATH msg[6] msg[7] OLGA_SERVERPATHObject Linking for GEM Applications OLGA Rev 1.5
OLGA bietet die Möglichkeit, aus einem gegebenen Dateinamen eine korrekte Extension im Format ".???" (d.h. maximal drei Zeichen und in Großbuchstaben) zu extrahieren. Dazu schickt man dem Manager folgende Nachricht:
OLGA_GETEXTENSION (App -> Manager) msg[0] $1258 (4696) msg[1] apID msg[2] 0 msg[3] + Pointer auf den Dateinamen (optional incl. Pfadangabe) msg[4] msg[5] 0 msg[6] 0 msg[7] 0
Als Antwort erhält die Applikation folgende Nachricht:
OLGA_EXTENSION (Manager -> App) msg[0] $1259 (4697) msg[1] manID msg[2] 0 msg[3] + gleiche Werte wie in OLGA_GETEXTENSION msg[4] msg[5] + Extension (z.B. ".JPG"), evtl. mit Nullbytes aufgefüllt msg[6] msg[7] 1: a) Datei hat keine Extension (msg[5/6] sind dann ausgenullt) b) Extension ist zu lang, und es gibt keine bekannte Kurzform; in msg[5/6] sind dann die ersten vier Zeichen (incl. Punkt) der Extension eingetragen 0: Extension konnte korrekt gekürzt werden (falls nötig)
Derzeit werden die Extensions ".jpeg", ".mpeg", ".aiff", ".html", ".class" und ".tiff" korrekt gekürzt.