Example #1
0
void ObservableLooper::MessageReceived(
    BMessage*								message) {

//	PRINT((
//		"### ObservableLooper::MessageReceived()\n"));
//	message->PrintToStream();

    switch(message->what) {
    case M_ADD_OBSERVER:
        _handleAddObserver(message);
        break;

    case M_REMOVE_OBSERVER:
        _handleRemoveObserver(message);
        break;

    case M_KILL_OBSERVABLE:
        releaseComplete();
        BLooper::Quit();
        break;

    default:
        _inherited::MessageReceived(message);
    }
}
Example #2
0
void ObservableHandler::MessageReceived(
	BMessage*								message) {

//	PRINT((
//		"### ObservableHandler::MessageReceived()\n"));
//	message->PrintToStream();

	switch(message->what) {
		case M_ADD_OBSERVER:
			_handleAddObserver(message);
			break;

		case M_REMOVE_OBSERVER:
			_handleRemoveObserver(message);
			break;
		
		case M_KILL_OBSERVABLE:
			// +++++ this should be an optional feature
			releaseComplete();
			delete this; // BOOM!
			break;

		default:
			_inherited::MessageReceived(message);
	}	
}