VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
imguiMultithreadManager.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include <tbb/spin_mutex.h>
5 #include <map>
6 #include <vlutil/vlString.h>
7 #include <list>
8 
9 class DtSimImguiThread;
10 
17 {
18 public:
20  virtual ~DtImguiMultithreadManager();
21 
23  void addImguiManager(DtSimImguiThread* imGuiManager);
24  void removeImguiManager(DtSimImguiThread* imGuiManager);
25 
27  void setAppName(const DtString& appName);
28 
29  void setPort(unsigned int port);
30  unsigned int port() const;
31  void setHost(const DtString& host);
32  DtString host() const;
33 
34  void startImgui();
35  void stopImgui();
36  bool isRunning();
37  DtString currentThread();
38  std::list<DtString> availableThreads();
39  bool setThread(const DtString& threadName);
40 
42  static DtImguiMultithreadManager* globalMultiImguiManager();
43 
44 protected:
45 
46  void startupThread(DtSimImguiThread* thread);
47  void shutdownThread(DtSimImguiThread* thread);
48 
49 protected:
50  tbb::spin_mutex myMutex;
52  std::map<DtString, DtSimImguiThread*> myImguiManagerList;
53  unsigned int myPort;
58 
60 
61 
63  static tbb::spin_mutex theGlobalMutex;
65 };
DtString myHost
Definition: imguiMultithreadManager.h:54
#define DT_DLL_vrfImguiUtil
This file is used to determine how to build.
Definition: vrfImguiUtilDefines.h:25
static tbb::spin_mutex theGlobalMutex
Static globals for singleton.
Definition: imguiMultithreadManager.h:63
DtSimImguiThread * myCurrentThread
Definition: imguiMultithreadManager.h:55
unsigned int myPort
Definition: imguiMultithreadManager.h:53
std::map< DtString, DtSimImguiThread * > myImguiManagerList
Map is indexed by thread names.
Definition: imguiMultithreadManager.h:52
DtString myAppName
Definition: imguiMultithreadManager.h:59
tbb::spin_mutex myMutex
Definition: imguiMultithreadManager.h:50
The top level IM GUI interface for a single thread of IM GUI rendering.
Definition: simImguiThread.h:20
DtString myAutostartThreadName
If a thread by this name is added and no thread is running, it will be started.
Definition: imguiMultithreadManager.h:57
static DtImguiMultithreadManager * theGlobalMultiImguiManager
Definition: imguiMultithreadManager.h:64
This class is intended to be a global singleton. It manages multiple DtSimImguiThread instances such ...
Definition: imguiMultithreadManager.h:16

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)