Home Inhaltsverzeichnis InplaceDrawing Idle-Test
 Object Linking for GEM Applications OLGA Rev 1.5

6 Notification

Es kann Applikationen geben, denen das bisher vorgestellte ObjectLinking nicht ausreicht, weil damit nur bekannte (oder vom Anwender ausgewählte) Dateien überwacht werden können. Mit der Notification-Erweiterung kann sich eine Applikation nun vom Manager über alle Updates bzw. solche eines bestimmten Dateityps informieren lassen.

Wie immer müssen bei den folgenden Messages die Extensions immer groß geschrieben werden. Sie sind (mit Punkt) exakt vier Zeichen lang, zur Not muß man die Extension kürzen bzw. mit Nullbytes (!) auffüllen.


 Object Linking for GEM Applications OLGA Rev 1.5
 Notification

6.1 OLGA_REQUESTNOTIFICATION

Wenn eine Applikation vom Manager bei Änderungen aller Dateien eines bestimmten Typs benachrichtigt werden möchte, schickt sie ihm folgende Message. Werden vier Nullbytes übergeben, wird die Applikation bei jedem Update jeder Datei benachrichtig.

OLGA_REQUESTNOTIFICATION
(App -> Manager)
msg[0] $1250 (4688)
msg[1] apID
msg[2] 0
msg[3]
    +  Extension (z.B. ".TIF") oder NULL (="*.*")
msg[4]
msg[5] 0
msg[6] 0
msg[7] 0

 Object Linking for GEM Applications OLGA Rev 1.5
 Notification

6.2 OLGA_RELEASENOTIFICATION

Eine Applikation kann die Benachrichtigung bei bestimmten (vorher per OLGA_REQUESTNOTIFICATION angeforderten) Dateitypen (bzw. bei allen, falls vier Nullbytes übergeben werden) mit folgender Message wieder ausschalten.

OLGA_RELEASENOTIFICATION
(App -> Manager)
msg[0] $1251 (4689)
msg[1] apID
msg[2] 0
msg[3]
    +  Extension (z.B. ".TIF") oder NULL (="*.*")
msg[4]
msg[5] 0
msg[6] 0
msg[7] 0

 Object Linking for GEM Applications OLGA Rev 1.5
 Notification

6.3 OLGA_NOTIFY

OLGA_NOTIFY
(Manager -> App)
msg[0] $1252 (4690)
msg[1] manID
msg[2] 0
msg[3]
    +  Pointer auf Dateinamen mit absolutem Pfad
msg[4]
msg[5] 0
msg[6] 0
msg[7] 0

Mit dieser Message teilt der Manager der Applikation mit, daß eine Datei verändert wurde. Falls die Applikation einen Link auf diese Datei gesetzt hat, erhält sie vorher auch noch eine OLGA_UPDATED-Message!

Nach dem Empfang dieser Message muß die Applikation dem Manager folgende Nachricht schicken:

OLGA_NOTIFIED
(App -> Manager)
msg[0] $1253 (4691)
msg[1] apID
msg[2] 0
msg[3] gleicher Wert wie in empfangener OLGA_NOTIFY-Message
msg[4] gleicher Wert wie in empfangener OLGA_NOTIFY-Message
msg[5] gleicher Wert wie in empfangener OLGA_NOTIFY-Message
msg[6] gleicher Wert wie in empfangener OLGA_NOTIFY-Message
msg[7] gleicher Wert wie in empfangener OLGA_NOTIFY-Message


Home Inhaltsverzeichnis InplaceDrawing Idle-Test