VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEventQueueInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtEventQueueInterface_H_
11 #define DtEventQueueInterface_H_
12 
13 #include <vrvUtil/vrvUtil.h>
14 #include <map>
15 #include <vector>
16 #include <boost/function.hpp>
17 #include <vlutil/vlSmartPointers.h>
18 
19 namespace makVrv
20 {
21  class DtVirtualBaseClass;
22 
27  {
28  public:
29  typedef boost::function< void (DtEventQueueInterface*) > Event;
30  typedef std::vector<Event> EventList;
31  typedef DtBoost::shared_ptr<EventList> SharedEventList;
32 
33  virtual ~DtEventQueueInterface();
34 
36  DtVirtualBaseClass* findInstance(const std::string& className);
37 
39  void registerInstance(const std::string& className, DtVirtualBaseClass* instance);
40 
42  virtual void postEvent(const Event& signal) = 0;
43 
45  virtual void processEvents() = 0;
46 
48  void executeEvents(const SharedEventList& signalList);
49 
50  protected:
52 
53  private:
56 
57  protected:
58  typedef std::map<std::string,DtVirtualBaseClass*> InstanceMap;
60  };
61 }
62 
63 #endif
64 
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
boost::function< void(DtEventQueueInterface *) > Event
Definition: DtEventQueueInterface.h:29
Contains DLL export macros.
The event queue interface is a cross thread event queue used to emit event_signal across thread bound...
Definition: DtEventQueueInterface.h:26
std::map< std::string, DtVirtualBaseClass * > InstanceMap
Definition: DtEventQueueInterface.h:58
std::vector< Event > EventList
Definition: DtEventQueueInterface.h:30
InstanceMap myInstanceMap
Definition: DtEventQueueInterface.h:59
DtBoost::shared_ptr< EventList > SharedEventList
Definition: DtEventQueueInterface.h:31

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)