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.
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] 0Object Linking for GEM Applications OLGA Rev 1.5
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] 0Object Linking for GEM Applications OLGA Rev 1.5
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