VR-Exchange 2.1 API Documentation
appBrokerManager.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef appBrokerManager_H_
7 #define appBrokerManager_H_
8 
12 
13 
14 #include "portalAppInitializer.h"
15 #include "ui_brokerList.h"
16 #include "xmlBrokerLauncher.h"
17 #include "brokerEditor.h"
18 #include <portal/pControlMessage.h>
19 
20 #include <map>
21 #include <QtCore/QObject>
22 
23 class QTreeWidget;
24 class QPushButton;
25 class QTreeWidgetItem;
26 class QPoint;
27 class QMenu;
28 
29 namespace MAKVrExchange {
30 
31 class DtPortalAppGui;
32 
39 {
40 Q_OBJECT
41 
42 public:
43 
44  enum
45  {
47  Shutdown
48  };
49 
51  DtPortalConnection* pconn );
52 
54  virtual ~DtAppBrokerManager();
55 
57  virtual void setBrokerInitLists(std::vector<DtXMLBrokerLauncher> vector);
58 
59 public:
60 
62  virtual DtString lookupBrokerName( const DtU16& brokerId ) const;
63 
65  virtual DtU16 lookupBrokerId( const DtString& brokerName ) const;
66 
69  virtual void setOneToOne(bool val);
70 
71 
72 signals:
73 
74  void brokerSelectedRunning(bool);
75 
76 public slots:
77 
78 
80  virtual void brokerItemEdited(DtXMLBrokerLauncher&);
81 
83  virtual void brokerItemAdded(DtXMLBrokerLauncher&);
84 
86  virtual void brokerItemRemoved(DtXMLBrokerLauncher&);
87 
89  virtual void showBrokerInfoDialogAction();
90 
92  virtual void brokerShutdownBrokerAction();
93 
95  virtual void brokerRestartBrokerAction();
96 
98  virtual void brokerRemoveBrokerAction();
99 
101  virtual void brokerEditBrokerAction();
102 
104  virtual void brokerAddNewBrokerAction();
105 
106 
107 protected:
108 
111  virtual void processAddBrokerMessage( const DtBrokerStartedMessage& msg );
112 
115  virtual void processRemoveBrokerMessage( const DtBrokerExitingMessage& msg );
116 
119  virtual void processAbnormalRemoval( const DtAbnormalBrokerExitMessage& msg );
120 
122  virtual void launchBrokerForItem( QTreeWidgetItem* item );
123 
125  virtual void shutdownBrokerForItem( QTreeWidgetItem* item );
126 
128  virtual DtString createBrokerStartupCommand( const DtXMLBrokerLauncher &brokerLauncher );
129 
130 protected:
131 
134  static void discoverBrokerCb( const DtBrokerStartedMessage& msg, void* usrData );
135 
138  static void removeBrokerCb( const DtBrokerExitingMessage& msg, void* usrData );
139 
142  static void abnormalRemovalCb( const DtAbnormalBrokerExitMessage& msg, void* usrData );
143 
144  // conflicts with Qt signal handling, revisit later
145 //#ifdef __linux__
148  //static void exitingBrokerSignalCb( int status );
149 //#endif
150 
151 
152 
153 protected slots:
154 
156  virtual void brokerItemDoubleClicked( QTreeWidgetItem* item );
157 
159  virtual void brokerItemRightButtonPressed( QTreeWidgetItem* item, const QPoint& point );
160 
162  virtual void brokerSelectionChanged();
163 
164 protected:
165  bool eventFilter(QObject *obj, QEvent *event);
166 
167  enum {
168  ShutdownBroker = 1
169  } BrokerPopupMenuPosition;
170 
171  typedef std::map<DtU16, DtString> BrokerIdToNameMap;
172 
173  Ui::DtBrokerList myUi;
174 
175  std::vector<DtXMLBrokerLauncher> myBrokerLaunchers;
184 
185 private:
187  DtAppBrokerManager( const DtAppBrokerManager &orig );
188 
190  DtAppBrokerManager &operator=( const DtAppBrokerManager& orig );
191 
192 };
193 
194 } //end namespace MAKVrExchange
195 
196 #endif //end #ifndef appBrokerManager_H_

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)