1 //-------------------------------------------------------------------- 2 // 3 // PostDispatchInvoker.h 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 #ifndef _PostDispatchInvoker_h 15 #define _PostDispatchInvoker_h 16 17 #include <MessageFilter.h> 18 #include <Invoker.h> 19 20 //==================================================================== 21 // CLASS: PostDispatchInvoker 22 // --------------------------- 23 // A simple kind of message filter which, when it receives a 24 // message of the target type, dispatches it directly to the 25 // looper, then posts a message to a specified handler when 26 // the dispatch is completed. Two fields are appended to the 27 // message before it is delivered: 28 // Dispatched Message B_MESSAGE_TYPE 29 // Dispatch Target B_POINTER_TYPE (BHandler*) 30 // 31 // Most message filters are designed to intercept messages 32 // before they're delievered; this one allows you to do some 33 // handling after they've been delivered. 34 35 class PostDispatchInvoker : public BMessageFilter, public BInvoker 36 { 37 //---------------------------------------------------------------- 38 // Constructors, destructors, operators 39 40 public: 41 PostDispatchInvoker(uint32 cmdFilter, 42 BMessage* invokeMsg, BHandler* invokeHandler, 43 BLooper* invokeLooper = NULL); 44 45 46 //---------------------------------------------------------------- 47 // Virtual member function overrides 48 49 public: 50 filter_result Filter(BMessage* message, BHandler** target); 51 }; 52 53 #endif /* _PostDispatchInvoker_h */