1BLooper(const char* name, int32 priority, int32 port_capacity) 2-------------- 3~BLooper() 4-------------- 5BLooper(BMessage* data) 6-------------- 7Instantiate(BMessage* data) 8-------------- 9Archive(BMessage* data, bool deep) const 10-------------- 11PostMessage(uint32 command) 12-------------- 13PostMessage(BMessage* message) 14-------------- 15PostMessage(uint32 command, BHandler* handler, BHandler* reply_to) 16-------------- 17PostMessage(BMessage* message, BHandler* handler, BHandler* reply_to); 18-------------- 19DispatchMessage(BMessage* message, BHandler* handler) 20-------------- 21MessageReceived(BMessage* msg) 22-------------- 23CurrentMessage() const 24-------------- 25DetachCurrentMessage() 26-------------- 27MessageQueue() const 28-------------- 29 30IsMessageWaiting() 31-------------- 32case 1: looper is unlocked and queue is empty 33case 2: looper is unlocked and queue is filled 34case 3: looper is locked and queue is empty 35case 4: looper is locked and queue is filled 36case 5: looper is locked, message is posted, queue is emptied 37 38AddHandler(BHandler* handler); 39-------------- 40case : handler is NULL 41case : looper is unlocked 42 43RemoveHandler(BHandler* handler) 44-------------- 45case 1: handler is NULL 46case 2: handler doesn't belong to this looper 47case 3: handler is valid, looper is unlocked 48case 4: handler doesn't belong to this looper, looper is unlocked 49case 5: handler has filters; FilterList() should be NULL on remove 50 51CountHandlers() const; 52-------------- 53case : No handlers added 54case : Several handlers added, then removed 55 56HandlerAt(int32 index) const; 57-------------- 58case 1: No handlers added, check for looper itself 59case 2: Index out of range (CountHandlers() + 1) 60case 3: Several handlers added, checked against expected indices 61case 4: Looper is not locked 62 63IndexOf(BHandler* handler) const; 64-------------- 65case 1: handler is NULL 66case 2: handler is valid, doesn't belong to this looper 67case 3: handler is valid, belongs to looper 68case 4: handler is valid, one of many added and removed 69case 5: handler is valid, looper is unlocked 70 71PreferredHandler() const; 72-------------- 73SetPreferredHandler(BHandler* handler); 74-------------- 75 76Run(); 77-------------- 78case 1: Attempt to call Run() twice 79case 2: Check Thread() against return of Run() 80case 3: Delete looper after calling Run() 81 82Quit() 83-------------- 84case 1: Call Quit() on unlocked BLooper 85 86QuitRequested() 87-------------- 88Lock() 89-------------- 90Unlock() 91-------------- 92IsLocked() const 93-------------- 94LockWithTimeout(bigtime_t timeout) 95-------------- 96Thread() const 97-------------- 98Team() const 99-------------- 100 101LooperForThread(thread_id tid) 102-------------- 103case 1: tid is valid 104case 2: tid is not valid 105 106LockingThread() const 107-------------- 108CountLocks() const 109-------------- 110CountLockRequests() const 111-------------- 112Sem() const 113-------------- 114ResolveSpecifier(BMessage* msg, int32 index, BMessage* specifier, int32 form, const char* property); 115-------------- 116GetSupportedSuites(BMessage* data) 117-------------- 118 119AddCommonFilter(BMessageFilter* filter) 120-------------- 121case : NULL filter 122case : Valid filter, looper not locked 123case : Valid filter, looper locked 124case : Valid filter, looper locked, owned by another looper 125 126RemoveCommonFilter(BMessageFilter* filter) 127-------------- 128case : NULL filter 129case : Valid filter, looper not locked 130case : Valid filter, not owned by looper 131case : Valid filter, owned by looper 132 133SetCommonFilterList(BList* filters) 134-------------- 135case : NULL list 136case : Valid list, looper not locked 137case : Valid list, looper locked 138case : Valid list, looper locked, owned by another looper 139 140CommonFilterList() const 141-------------- 142case : Default constructed BLooper 143 144Perform(perform_code d, void* arg) 145-------------- 146case 1: returns B_ERROR;