1//-------------------------------------------------------------------- 2// 3// PostDispatchInvoker.cpp 4// 5// Written by: Owen Smith 6// 7//-------------------------------------------------------------------- 8 9/* 10 Copyright 1999, Be Incorporated. All Rights Reserved. 11 This file may be used under the terms of the Be Sample Code License. 12*/ 13 14#include "PostDispatchInvoker.h" 15#include <Looper.h> 16 17//==================================================================== 18// PostDispatchInvoker Implementation 19 20 21//-------------------------------------------------------------------- 22// PostDispatchInvoker constructors, destructors, operators 23 24PostDispatchInvoker::PostDispatchInvoker(uint32 cmdFilter, 25 BMessage* invokeMsg, BHandler* invokeHandler, 26 BLooper* invokeLooper) 27 : BMessageFilter(cmdFilter, NULL), 28 BInvoker(invokeMsg, invokeHandler, invokeLooper) 29{ } 30 31 32 33//-------------------------------------------------------------------- 34// PostDispatchInvoker virtual function overrides 35 36filter_result PostDispatchInvoker::Filter(BMessage* message, 37 BHandler** target) 38{ 39 Looper()->DispatchMessage(message, *target); 40 BMessage* pInvMsg = Message(); 41 pInvMsg->AddMessage("Dispatched Message", message); 42 pInvMsg->AddPointer("Dispatch Target", *target); 43 Invoke(); 44 return B_SKIP_MESSAGE; 45} 46