WebLVC 1.8 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
appBrokerManager.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <portalApp/ui_brokerList.h>
15 #include <portalApp/brokerEditor.h>
16 
17 #include <portal/pControlMessage.h>
18 
19 #include <QtCore/QObject>
20 #include <map>
21 
22 class QPoint;
23 class QTreeWidget;
24 class QPushButton;
25 class QTreeWidgetItem;
26 
27 namespace MAKVrExchange
28 {
29 
30  class DtPortalAppGui;
31  class DtBrokerContextMenu;
32 
39  { Q_OBJECT;
40  public:
41 
42  enum
43  {
45  Shutdown
46  };
47 
48  public:
49 
51  DtPortalConnection* pconn );
52 
54  virtual ~DtAppBrokerManager();
55 
57  virtual void setBrokerInitLists( const std::vector<DtXmlBrokerLauncher>& vector );
58 
60  virtual DtString lookupBrokerName( const DtU16& brokerId ) const;
61 
63  virtual DtU16 lookupBrokerId( const DtString& brokerName ) const;
64 
67  virtual void setOneToOne( bool val );
68 
71  virtual const QTreeWidget* treeWidget() const;
72 
75  virtual QTreeWidget* treeWidget();
76 
77  signals:
78 
79  void brokerSelectedRunning( bool );
80 
81  public slots:
82 
84  virtual void brokerItemAdded( DtXmlBrokerLauncher& );
85 
87  virtual void brokerItemEdited( DtXmlBrokerLauncher& );
88 
90  virtual void showBrokerInfoDialogAction();
91 
93  virtual void brokerShutdownBrokerAction();
94 
96  virtual void brokerRestartBrokerAction();
97 
99  virtual void brokerRemoveBrokerAction();
100 
102  virtual void brokerEditBrokerAction();
103 
105  virtual void brokerAddNewBrokerAction();
106 
108  virtual void setDarkModeEnabled(bool enable);
109 
111  virtual bool darkModeEnabled();
112 
113  protected slots:
114 
116  virtual void brokerItemDoubleClicked( QTreeWidgetItem* item );
117 
119  virtual void brokerSelectionChanged();
120 
122  virtual void onBrokerMenuAboutToShow();
123 
124  protected:
125 
128  virtual void processAddBrokerMessage( const DtBrokerStartedMessage& msg );
129 
132  virtual void processRunBrokerMessage( const DtBrokerRunningMessage& msg );
133 
136  virtual void processRemoveBrokerMessage( const DtBrokerExitingMessage& msg );
137 
139  virtual void processAbnormalRemoval( const DtAbnormalBrokerExitMessage& msg );
140 
142  virtual void requestBrokerLaunchGui( QTreeWidgetItem* item );
143 
145  virtual void requestBrokerStart( QTreeWidgetItem* item );
146 
148  virtual void shutdownBrokerForItem( QTreeWidgetItem* item );
149 
151  virtual DtString createBrokerStartupCommand( const DtXmlBrokerLauncher& brokerLauncher );
152 
154  static void discoverBrokerCb( const DtBrokerStartedMessage& msg, void* usrData );
155 
157  static void runningBrokerCb( const DtBrokerRunningMessage& msg, void* usrData );
158 
160  static void removeBrokerCb( const DtBrokerExitingMessage& msg, void* usrData );
161 
163  static void abnormalRemovalCb( const DtAbnormalBrokerExitMessage& msg, void* usrData );
164 
165  virtual bool eventFilter( QObject* obj, QEvent* event );
166 
167  private:
168 
170  DtAppBrokerManager( const DtAppBrokerManager& orig );
171 
173  DtAppBrokerManager& operator = ( const DtAppBrokerManager& orig );
174 
176  QColor myConColor;
177  bool first = true;
178 
179  protected:
180 
181  enum
182  {
183  ShutdownBroker = 1
184  } BrokerPopupMenuPosition;
185 
186  typedef std::map<DtU16,DtString> BrokerIdToNameMap;
187 
188  Ui::DtBrokerList myUi;
189 
190  std::vector<DtXmlBrokerLauncher> myBrokerLaunchers;
191 
194 
198 
200 
201  };
202 
203 }
DtBrokerContextMenu * myPopupMenu
A popup menu used for the selected broker.
Definition: appBrokerManager.h:193
Contains the DtPortalControlMessage class declarations.
Menu for controlling and configuring brokers.
Definition: brokerContextMenu.h:20
DtPortalAppInitializer * myInitializer
Definition: appBrokerManager.h:196
DtPortalAppInitializer instances are used to parse the mtl file/command line arguments, and store the parameters.
Definition: portalAppInitializer.h:31
std::vector< DtXmlBrokerLauncher > myBrokerLaunchers
Definition: appBrokerManager.h:190
PortalControlMessageTemplate is used to create new DtPortalControlMessage types.
Definition: pControlMessage.h:71
Contains the DtPortalAppInitializer class declaration.
DtPortalConnection * myPConn
Definition: appBrokerManager.h:195
#define DT_DLL_LIBPORTALAPP
Definition: include/portalApp/dllExport.h:20
bool myDarkModeEnabled
Definition: appBrokerManager.h:199
DtBrokerEditor * myBrokerEditor
Definition: appBrokerManager.h:197
Manages the connection list on the main portal window.
Definition: appBrokerManager.h:38
QColor myConColor
Definition: appBrokerManager.h:176
Contains the DtBrokerEditor class declaration.
Definition: xmlBrokerLauncher.h:19
Contains all controls for the broker editor dialog box.
Definition: brokerEditor.h:45
Connects a broker to the Portal Data Exchange.
Definition: pConnection.h:49
Contains the DtXmlBrokerLauncher class declaration.
Ui::DtBrokerList myUi
Definition: appBrokerManager.h:188
std::map< DtU16, DtString > BrokerIdToNameMap
Definition: appBrokerManager.h:186
QColor myDisconColor
Definition: appBrokerManager.h:175

Document ID: Generated on Wed Mar 12 15:05:17 EDT 2025 from SVN revision 274272
Copyright © 2005-2025 MAK Technologies. All Rights Reserved (www.mak.com)