home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2000 January / LCD_01_2000.iso / pd / 315 / auto / xssinst.txt < prev   
Text File  |  1999-10-06  |  6KB  |  130 lines

  1.  
  2.                              XSSINST.PRG  V1.4
  3.  
  4.                            Copyright (c) 1997-99
  5.                                      by
  6.  
  7.                                 RUN! Software
  8.                             friendly applications
  9.                          Ulli Gruszka & Holger Herzog
  10.  
  11.                               Vorgartenstr. 9
  12.                               D-66424 Homburg
  13.                             www.run-software.de
  14.  
  15.   ===========================================================================
  16.  
  17.   Dieses Programm war ursprünglich ein Bestandteil des Software-Archives des
  18.   Bildschirmschoners BUBBLES. Sofern RUN! Software formlos darüber informiert
  19.   wird, ist seit der Version 1.4 nun auch die gesonderte Verwendung im Rahmen
  20.   anderer Produkte gestattet. Zu diesem Zweck können die Programmdatei
  21.   XSSINST.PRG und der Text XSSINST.TXT dem BUBBLES-Archiv entnommen und dem
  22.   Produkt beigefügt werden. Sofern dieser Text nicht beigefügt wird, ist an
  23.   anderer, geeigneter Stelle ein Hinweis auf RUN! Software anzubringen.
  24.  
  25.   ===========================================================================
  26.  
  27.   XSSINST.PRG installiert eine Software-Schnittstelle zur Kommunikation
  28.   zwischen Programmen, die unter Nichtbeachtung der Fenster-Rechtecklisten auf
  29.   den Bildschirm ausgeben. Hierbei kann es sich z. B. um Bildschirmschoner
  30.   handeln, um Tools für Zeit/Datums-Anzeigen, für Speicher- oder diverse
  31.   Objekt-Informationen, und natürlich auch um Applikationen, die Hilfe-Texte
  32.   zu ihren Funktionen beispielsweise in der Menüzeile anbieten.
  33.  
  34.   Sofern die genannten Programme interessiert sind, bietet ihnen die
  35.   Schnittstelle eine einfache Möglichkeit, ihre Ausgaben mit denen anderer
  36.   Tools zu koordinieren.
  37.  
  38.   Der Bildschirmschoner BUBBLES benutzt die Schnittstelle zusätzlich zur
  39.   Kommunikation mit seinen Modulen. Ohne diese Schnittstelle ist das Modul-
  40.   Schonen nicht möglich.
  41.  
  42.   Zur Installation der Schnittstelle mu₧ XSSINST.PRG im AUTO-Ordner gestartet
  43.   werden. Bitte stellen Sie zunächst sicher, da₧ die Schnittstelle nicht
  44.   bereits von einem anderen Tool in einer Version kleiner als 1.01 installiert
  45.   wurde.
  46.  
  47.   Wird XSSINST.PRG manuell erneut gestartet, so führt es einen Schnittstellen-
  48.   Reset durch, bei dem alle Vektoren initialisiert werden.
  49.  
  50.   ===========================================================================
  51.  
  52.   Hinweise für Programmierer:
  53.   ===========================
  54.  
  55.   XSSINST installiert die XSSI-Schnittstelle in der Version 0x101. Zunächst
  56.   wird geprüft, ob die Schnittstelle bereits vorhanden ist. Ist dies der Fall
  57.   und liegt die Schnittstelle in einer Version >= 1.01 vor, so terminiert
  58.   XSSINST.PRG mit einem entsprechenden Hinweis.
  59.  
  60.   Ist die Schnittstelle in einer Version < 1.01 vorhanden, so wird die
  61.   Installation mit einer Fehlermeldung abgebrochen.
  62.  
  63.   Existiert noch kein Cookie-Jar, so wird dieser erstmals mit Platz für
  64.   insgesamt 16 Cookies angelegt.
  65.  
  66.   Ist im Cookie-Jar kein Platz mehr für einen weiteren Cookie, so wird
  67.   globaler Speicher für den bestehenden Jar und 16 weitere Cookies reserviert,
  68.   der Jar dorthin kopiert und _p_cookies umgesetzt.
  69.  
  70.   Nun wird der XSSI-Cookie angelegt, dessen Wert ein Zeiger auf die folgende
  71.   Struktur ist:
  72.  
  73.    typedef struct {
  74.       LONG  id;           /* Analog zum Vorgehen beim XBRA-Verfahren
  75.                              die ID des Bildschirmschoners -> BBLS        */
  76.       WORD  version;      /* Version des XSSI-Protokolls   -> 0x101       */
  77.       WORD  save_stat;    /* Mitteilung, ob gerade geschont wird. 0=nein  */
  78.       WORD  prg_stat;     /* Status des Programms:
  79.                              0= normal schonen, 1= niemals schonen,
  80.                             -1= sofort schonen.                           */
  81.       LONG  vec_stat;     /* Bitfeld, in dem der Status der einzelnen
  82.                              überwachten Vektoren eingetragen ist.
  83.                              Ein gesetztes Bit bedeutet, Vektor aktiv,
  84.                              ein nicht gesetztes Bit, Vektor inaktiv.     */
  85.    } INFOXSSI;
  86.  
  87.   Die Belegung von vec_stat:
  88.       Bit-Nr.   Vektor
  89.       =======   ======
  90.          0      Tastatur
  91.          1      Maus
  92.          2      Joystick                        (*)
  93.          3      Midi                            (*)
  94.          4      Modem-1                         (*)
  95.          5      Modem-2  (SCC B)                (*)
  96.          6      Serial-1                        (*)
  97.          7      Serial-2 <-> LAN-Port (SCC A)   (*)
  98.        8-14     sonstige Vektoren               (*)
  99.         15      Fensterstapel
  100.  
  101.                (*) Bits werden von BUBBLES ignoriert
  102.  
  103.   Die Bits 0, 1 und 15 werden von BUBBLES nur während des Schonens
  104.   ausgewertet. Module haben also die Möglichkeit, die ansonsten nicht
  105.   konfigurierbaren Weck-Ereignisse (Tastatur, Maus und Änderungen am
  106.   Fenster-Stapel) temporär zu unterdrücken. Somit sind auch interaktive
  107.   Module denkbar, die Benutzereingaben erwarten und auswerten.
  108.  
  109.  
  110.   Unterstützung der Schnittstelle:
  111.   ================================
  112.  
  113.   Jedes Programm, das nicht über die Fenster-Rechtecklisten auf den
  114.   Bildschirm ausgibt, sollte nach dem Cookie suchen. Ist der Cookie
  115.   vorhanden, so mu₧ vor der Ausgabe in save_stat nachsehen werden, ob der
  116.   Bildschirm gerade geschont beziehungsweise anderweitig beschrieben wird
  117.   (<>0). Ist dies der Fall, darf solange keine Ausgabe stattfinden, bis
  118.   save_stat wieder den Wert 0 enthält.
  119.  
  120.   Applikationen können Bildschirmschoner, die das Protokoll kennen, zum
  121.   sofortigen Schonen auffordern, indem sie prg_stat den Wert -1 zuweisen.
  122.   Ein denkbarer Anwendungsfall sind Druckausgaben und längere Such- oder
  123.   Sortieroperationen, deren Ablauf nicht am Bildschirm verfolgt werden
  124.   mu₧. Setzt die Applikation prg_stat wieder auf 0 (darf auf keinen Fall
  125.   vergessen werden!), so beendet der Schoner seine Aktivität.
  126.  
  127.   Im Zweifelsfall kann ein Schnittstellen-Reset durchgeführt werden. Dazu
  128.   ist XSSINST.PRG einfach erneut, diesmal jedoch manuell zu starten.
  129.  
  130.