Zurück |  | Nach vorne

# SandUhr::Timer

## Name

SandUhr::Timer -- CORBA-Schnittstelle für SandUhr-Timer-Objekte

## ÜBERSICHT

    module SandUhr {
      interface Timer {
        exception NotRunning { };

        enum TimerState { TSPrepare, TSRunning, TSDone };
        readonly attribute TimerState State;

        attribute string TimeSpec;
        attribute string Message;
        attribute AlarmAction Alarm;

        struct Color {
          unsigned short Red, Green, Blue;
        };
        attribute Color SandColor;

        attribute boolean WindowDecorations;

        enum Layer { LayerDesktop, LayerBelow, LayerNormal, LayerOntop };
        attribute Layer WindowLayer;

        void Destroy ();
        unsigned long TimeLeft () raises (NotRunning);
      };
    };

## BESCHREIBUNG

Die zentrale Komponente von SandUhr ist die `SandUhr::Timer`-Schnittstelle. Sie repräsentiert das sanduhrförmige Fenster und alle damit verbundenen Informationen.

- Der Zustand des Timers:

      enum TimerState { TSPrepare, TSRunning, TSDone };
      readonly attribute TimerState State;

  Dieser Wert ist `TSPrepare` falls die Uhr noch nicht gestartet ist (z.B. während das Anfangsfenster noch offen ist), `TSRunning` während die Uhr läuft und `TSDone` nachdem die Uhr abgelaufen ist (z.B. während der Alarm gerade ausgeliefert wird).

- Die Alarmzeit:

      attribute string TimeSpec;

  Das Format dieses Strings wird in der Anleitung im Abschnitt Die Alarmzeit erklärt.

- Die Alarmmeldung:

      attribute string Message;

  Dieser Text wird der Alarmmethode zur Zustellung übergeben.

- Die Alarmmethode:

      attribute AlarmAction Alarm;

  Es stehen mehrere vordefinierte Subklassen von `SandUhr::AlarmAction` zur Verfügung. Diese werden in SandUhr::AlarmAction(3) beschrieben.

- Die Sandfarbe:

      struct Color {
        unsigned short Red, Green, Blue;
      };
      attribute Color SandColor;

  Gültige Werte für die Farbkomponenten liegen im Bereich von 0 bis 255, beide Werte inklusive. `(0,0,0)` steht für weiß und `(255,255,255)` steht für schwarz.

- Die Destroy-Funktion:

      void Destroy ();

  Dies zerstört den Timer ohne den Alarm auszuliefern.

- Die verbleibende Zeit:

      unsigned long TimeLeft () raises (NotRunning);

  Dies liefert die verbleibende Zeit, die die Uhr noch läuft, in Sekunden. Falls der Zustand der Uhr nicht `TSRunning` ist, wird eine `NotRunning`-Ausnahme ausgelöst.

## SIEHE AUCH

SandUhr::TimerFactory(3), SandUhr::AlarmAction(3)

Zurück | Zum Anfang | Nach vorne
Die SandUhr CORBA-Schnittstelle | Nach oben | SandUhr::AlarmAction