VR-Exchange 2.5 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
appBrokerManager.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 VT MAK
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 
107  protected slots:
108 
110  virtual void brokerItemDoubleClicked( QTreeWidgetItem* item );
111 
113  virtual void brokerSelectionChanged();
114 
116  virtual void onBrokerMenuAboutToShow();
117 
118  protected:
119 
122  virtual void processAddBrokerMessage( const DtBrokerStartedMessage& msg );
123 
126  virtual void processRunBrokerMessage( const DtBrokerRunningMessage& msg );
127 
130  virtual void processRemoveBrokerMessage( const DtBrokerExitingMessage& msg );
131 
133  virtual void processAbnormalRemoval( const DtAbnormalBrokerExitMessage& msg );
134 
136  virtual void requestBrokerLaunchGui( QTreeWidgetItem* item );
137 
139  virtual void requestBrokerStart( QTreeWidgetItem* item );
140 
142  virtual void shutdownBrokerForItem( QTreeWidgetItem* item );
143 
145  virtual DtString createBrokerStartupCommand( const DtXmlBrokerLauncher& brokerLauncher );
146 
148  static void discoverBrokerCb( const DtBrokerStartedMessage& msg, void* usrData );
149 
151  static void runningBrokerCb( const DtBrokerRunningMessage& msg, void* usrData );
152 
154  static void removeBrokerCb( const DtBrokerExitingMessage& msg, void* usrData );
155 
157  static void abnormalRemovalCb( const DtAbnormalBrokerExitMessage& msg, void* usrData );
158 
159  virtual bool eventFilter( QObject* obj, QEvent* event );
160 
161  private:
162 
164  DtAppBrokerManager( const DtAppBrokerManager& orig );
165 
167  DtAppBrokerManager& operator = ( const DtAppBrokerManager& orig );
168 
169  protected:
170 
171  enum
172  {
173  ShutdownBroker = 1
174  } BrokerPopupMenuPosition;
175 
176  typedef std::map<DtU16,DtString> BrokerIdToNameMap;
177 
178  Ui::DtBrokerList myUi;
179 
180  std::vector<DtXmlBrokerLauncher> myBrokerLaunchers;
181 
184 
188 
189  };
190 
191 }

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)