CXI-Basis-Programmierreferenz / Version 2 / Datenaustausch / Ebene 1 /
int CxiMessageHandlerBase :: IsInHandler (void)
Befindet sich der Aufrufer gerade synchron innerhalb eines Handler-Aufrufs?
return:
1: ja, um den Handler verlassen zu können, muss die laufende Funktion mit return beendet werden.
0: nein, der Handler ist nicht aktiv oder kann ohne Zutun der aufrufenden Funktion beendet werden.
Bevor ein CxiMessageHandler...-Objekt gelöscht werden kann, muss der Handler verlassen werden. Programme können abstürzen, wenn sich beim Löschen des Objekts gerade eine Meldung in Bearbeitung befindet (siehe WaitShutDown und RequestShutDown).
Portabilität:
Diese Funktion ist ab Version 2.07 definiert und in allen unterstützten Systemen verfügbar. Beachten Sie jedoch, dass der Rückgabewert 0 nicht aussagt, dass der Handler nicht aktiv ist, sondern dass er nicht SYNCHRON aktiv ist; dies ist insbesondere für Multithreadsysteme relevant.
Weitere Memberfunktionen:
CxiMessageHandlerBase(const char*) - Konstruktor
~CxiMessageHandlerBase() - Destruktor
WaitShutDown - Warten auf Handler
QueryReceiverState - Aktivierungsstatus
RequestShutDown - Herunterfahren eines Empfängers
CreateLocalAlias - Lokaler Aliasname
WaitState - Wartezustand
Handler1 - Bearbeitungsfunktion
Geerbte Memberfunktionen:
Status - Statusabfrage
IsValid - Ist Objekt gültig?
IsLocal - Ist Objekt lokal?
CountChildren - Anzahl untergeordneter Objekte
QueryIdent - Abfrage des Namens
QueryIdentAbs - Abfrage des absoluten Namens
Globale Funktionen:
PostMessageBlock - Versenden einer Meldung ohne Warten
SendMessageBlock - Versenden einer Meldung mit Warten
CreateGlobalAlias - Globaler Aliasname
Siehe auch:
Klassenhierarchie Meldungssystem
class CxiMessageIdent - Adresse eines Meldungsempfängers
class CxiMessageHandlerBase - Meldungsempfänger Ebene 1
class CxiMessageHandler - Erweiterter Meldungsempfänger
class CxiMessageHandlerWithQueue - Erweiterter Meldungsempfänger mit Queue