|
Pochodzi od: żaden
Zadeklarowany w: be/app/MessageQueue.h
Biblioteka: libbe.so
Podsumowanie: więcej...
Klasa BMessageQueue (czyli kolejka komunikatów) uzupełnia implementację BLooper'a przez dostarczenie stosu typu "pierwszy wchodzi/pierwszy wychodzi" (FIFO - first-in/first-out) w którym looper może umieszczać nadchodzace obiekty BMessage. Ogólnie, powiniem wystarczyć mechanizm rozgłaszania komunikatów BLooper'a. Jednak, jeśli kiedykolwiek będziesz potrzebował manipulować bezpośrednio kolejką BMessage, możesz tak zrobić.
![]() | BMessageQueue() |
BMessageQueue(void) Tworzy pusty obiekt BMessageQueue.
![]() | ~BMessageQueue() |
virtual ~BMessageQueue() Niszczy wszystkie obiekty w kolejce i wszystkie struktury danych używane do zarządzania kolejką.
![]() | AddMessage() , RemoveMessage() |
void AddMessage(BMessage *message) void RemoveMessage(BMessage *message) AddMessage() dodaje komunikat message na koniec kolejki. RemoveMessage() usuwa konkretny komunikat message z kolejki i niszczy go.
![]() | CountMessages() , IsEmpty() |
int32 CountMessages(void) const bool IsEmpty(void) const CountMessages() zwraca liczbę komunikatów obecnych w kolejce.
IsEmpty() zwraca true jeśli obiekt nie zawiera żadnego komunikatu i false w przeciwnym wypadku.
![]() | FindMessage() |
BMessage *FindMessage(int32 index) const
BMessage *FindMessage(uint32 what, int32 index = 0) constFindMessage() zwraca wskaźnik do obiektu BMessage o indeksie index w kolejce, gdzie indeks 0 oznacza komunikat który przebywa w kolejce najdłużej. Druga wersja pozwala Ci określić wartość pola what; w tym przypadku, są zliczane tylko te komunikaty, których argument what jest dopasowany. Jeśli komunikat nie pasuje do żadnego kryterium, funkcje zwracają NULL.
Komunikat nie jest usuwany z kolejki komunikatów.
![]() | IsEmpty() patrz CountMessages() |
![]() | Lock(), Unlock() |
bool Lock(void) void Unlock(void) Te funkcje blokują i odblokowują BMessageQueue, żeby inny wątek nie zmienił zawartości kolejki w chwili gdy będzie ona czytana. Lock() nie zwraca wartości dopóki blokuje kolejkę; zawsze zwraca ona true. Unlock() zwalnia blokadę, żeby ktoś inny mógł zablokować kolejkę. Wywołania tych funkcji mogą być zagnieżdżane.
Popatrz również do: BLooper::Lock()
![]() | NextMessage() |
BMessage *NextMessage(void) Usuwa i zawraca najstarszy komunikat z kolejki. Jeśli kolejka jest pusta, funkcja zwraca NULL.
Popatrz również do: FindMessage()
![]() | RemoveMessage() patrz AddMessage() |
![]() | Unlock() patrz Lock()
|
|
Be
Book,
...w ślicznym HTML...
dla BeOS wydanie 5
Copyright © 2000 Be, Inc. Wszelkie prawa zastrzeżone.