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) 2024 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 <memory>
17 #include <boost/function.hpp>
18 #include <vlutil/vlSmartPointers.h>
19 
20 namespace makVrv
21 {
22  class DtVirtualBaseClass;
23 
28  {
29  public:
30  typedef boost::function< void (DtEventQueueInterface*) > Event;
31  typedef std::vector<Event> EventList;
32  typedef std::shared_ptr<EventList> SharedEventList;
33 
34  virtual ~DtEventQueueInterface();
35 
37  DtVirtualBaseClass* findInstance(const std::string& className);
38 
40  void registerInstance(const std::string& className, DtVirtualBaseClass* instance);
41 
43  virtual void postEvent(const Event& signal) = 0;
44 
46  virtual void processEvents() = 0;
47 
49  void executeEvents(const SharedEventList& signalList);
50 
51  protected:
53 
54  private:
57 
58  protected:
59  typedef std::map<std::string,DtVirtualBaseClass*> InstanceMap;
61  };
62 }
63 
64 #endif
65 
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:30
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:27
std::shared_ptr< EventList > SharedEventList
Definition: DtEventQueueInterface.h:32
std::map< std::string, DtVirtualBaseClass * > InstanceMap
Definition: DtEventQueueInterface.h:59
std::vector< Event > EventList
Definition: DtEventQueueInterface.h:31
InstanceMap myInstanceMap
Definition: DtEventQueueInterface.h:60

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)