std.android.looper

ALooper-Bindings für den Android Event-Loop: Datei-Deskriptoren registrieren und auf Events warten. Der Looper ist das Herzstück der nativen Android Event-Verarbeitung.

std.android · std.android.app_glue


Konstanten

Konstante Beschreibung
ALOOPER_POLL_WAKE ALooper wurde manuell geweckt
ALOOPER_POLL_CALLBACK Callback wurde ausgeführt
ALOOPER_POLL_TIMEOUT Timeout ohne Event
ALOOPER_POLL_ERROR Fehler beim Warten
ALOOPER_EVENT_INPUT Lesbar (EPOLLIN)
ALOOPER_EVENT_OUTPUT Schreibbar (EPOLLOUT)

Verwendung

import std.android.looper;

// Auf Events warten (0 ms Timeout = nicht blockieren)
var outFd: int64 := 0;
var outEvents: int64 := 0;
var outData: pchar := nil;
var result: int64 := ALooperPollAll(0, &outFd, &outEvents, &outData);

if (result >= 0) {
    // Event verarbeiten
}

// Eigenen Datei-Deskriptor registrieren
ALooperAddFd(looper, myFd, LOOPER_ID_USER, ALOOPER_EVENT_INPUT, nil, nil);


Funktionen

Signatur Sichtbarkeit Beschreibung
ALooperForThread(): ALooper pub Gibt Looper des aktuellen Threads zurück
ALooperPollAll(timeoutMillis: int64, outFd: *int64, outEvents: *int64, outData: *pchar): int64 pub Wartet auf Events; gibt Event-ID oder Sonderwert zurück
ALooperPollOnce(timeoutMillis: int64, outFd: *int64, outEvents: *int64, outData: *pchar): int64 pub Wartet auf genau ein Event
ALooperAddFd(looper: ALooper, fd: int64, ident: int64, events: int64, callback: pchar, data: pchar): int64 pub Registriert Datei-Deskriptor im Looper
ALooperRemoveFd(looper: ALooper, fd: int64): int64 pub Entfernt Datei-Deskriptor aus dem Looper
ALooperWake(looper: ALooper): void pub Weckt wartenden Looper auf

Letzte Aktualisierung: 2026-05-22