![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2008 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: latencyTestDialog.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef latencyTestDialog_H_ 00013 #define latencyTestDialog_H_ 00014 00015 #include "ui_latencyTestDialogUI.h" 00016 #include <assistantConnectionInfo.h> 00017 #include <rtiMsConfig.h> 00018 #include <RIDparams.h> 00019 #include <qdialog.h> 00020 00021 class DtLatencyTestConfigWidget; 00022 class DtRtiConnectionInfo; 00023 00027 class DT_DLL_ASSISTANTAPP DtLatencyTestDialog : public QDialog 00028 { 00029 Q_OBJECT 00030 00031 public: 00032 00034 DtLatencyTestDialog( QWidget* parent = 0, Qt::WindowFlags f = 0 ); 00035 00037 virtual ~DtLatencyTestDialog(); 00038 00040 virtual void clearResults(); 00041 00043 virtual void addResult( 00044 const QString& recipName, 00045 unsigned int recipHandle, 00046 DtRIDParameters::DtAsynchronousIOModeEnum initProcModel, 00047 DtRIDParameters::DtAsynchronousIOModeEnum recipProcModel, 00048 unsigned int initTickTime, 00049 unsigned int recipTickTime, 00050 unsigned int bestEffortRoundTripTime, 00051 unsigned int reliableRoundTripTime, 00052 int initBestEffortQTime, 00053 int recipBestEffortQTime, 00054 int initReliableQTime, 00055 int recipReliableQTime ); 00056 00058 virtual void addTimeoutResult( const QString& recipName, unsigned int recipHandle ); 00059 00061 virtual void setName( const QString &name ); 00062 00064 virtual void updateStatus( bool enabled, bool capable, bool continuous, 00065 bool inProgress ); 00066 00068 virtual void indicateFederateResigned(); 00069 00071 virtual void indicateRtiexecShutdown(); 00072 00074 virtual bool isTestInProgress(); 00075 00078 virtual void closeWithoutPrompt(); 00079 00080 public slots: 00081 00083 virtual void processRun(); 00084 00086 virtual void processContinuous(); 00087 00089 virtual void processStop(); 00090 00092 virtual void processSave(); 00093 00095 virtual void processSelectionChange(); 00096 00098 virtual void setTestConfig( unsigned int interactionPeriod, 00099 unsigned int numInteractions, unsigned int payloadBytes ); 00100 00102 virtual void changeContinuousButtonIcon( bool isDepressed ); 00103 00104 signals: 00105 00107 void run(); 00108 00110 void runContinuous(); 00111 00113 void stopRunning(); 00114 00116 void dismiss(); 00117 00119 void updateTestConfig( unsigned int interactionPeriod, 00120 unsigned int numInteractions, unsigned int payloadBytes ); 00121 00123 void observing(); 00124 00125 protected: 00126 00128 struct DtDetailedInfo 00129 { 00130 QString timestamp; 00131 QString recipName; 00132 QString initProcModel; 00133 QString recipProcModel; 00134 QString initTickTime; 00135 QString recipTickTime; 00136 QString initQTime; 00137 QString recipQTime; 00138 }; 00139 00142 virtual void getWidgetsToUpdate( unsigned int recipHandle, 00143 QTableWidgetItem*& recipItem, 00144 QTableWidgetItem*& timeWaitingItem, 00145 QTableWidgetItem*& transitTimeItem, 00146 QTableWidgetItem*& totalTimeItem, 00147 DtDetailedInfo*& details ); 00148 00150 virtual QString federateNameToDisplay( unsigned int handle, 00151 const QString& name = QString::null ); 00152 00154 virtual unsigned int handleFromDisplayName( const QString& name ); 00155 00157 virtual QString procModelString( DtRIDParameters::DtAsynchronousIOModeEnum procModel ); 00158 00160 virtual void clearDetailsDisplay(); 00161 00163 virtual void setTitle(); 00164 00166 virtual void closeEvent(QCloseEvent *event); 00167 00169 00170 virtual void convertToMsString( unsigned int usec, QString& result, 00171 const QString& notAvailableString = theLongNAString, 00172 bool zeroIsNotAvailable = true ); 00173 virtual void convertToMsString( int usec, QString& result, 00174 const QString& notAvailableString = theLongNAString, 00175 bool zeroIsNotAvailable = true ); 00177 00179 virtual void showEvent( QShowEvent* event ); 00180 00182 enum DtResultsTableCol 00183 { 00184 RecipientCol, 00185 TransitTimeCol, 00186 TimeWaitingCol, 00187 TotalTimeCol 00188 }; 00189 00191 typedef std::map< int, DtDetailedInfo* > DtHandleToDetailedInfoMap; 00192 00193 Ui::LatencyTestDialog myUiImpl; 00194 00196 QString myName; 00197 00199 QString myStatusText; 00200 00202 DtHandleToDetailedInfoMap myDetailedInfo; 00203 00205 DtLatencyTestConfigWidget* myConfigWidget; 00206 00208 bool myTestingEnabled; 00209 00211 bool myTestCapable; 00212 00214 bool myTestInProgress; 00215 00217 bool myContinuous; 00218 00220 QIcon myContinuousIcon; 00221 00223 QIcon myContinuousDepressedIcon; 00224 00226 QString mySavedFile; 00227 00229 bool myCloseWithoutPrompt; 00230 00232 00233 static const QString theInitiatorToolTip; 00234 static const QString theRecipientToolTip; 00235 static const QString theTimeWaitingToolTip; 00236 static const QString theTransitTimeToolTip; 00237 static const QString theTotalTimeToolTip; 00238 static const QString theTimestampToolTip; 00239 static const QString theProcModelToolTip; 00240 static const QString theTickTimeToolTip; 00241 static const QString theQTimeToolTip; 00243 00245 00246 static const QString theRunButtonToolTip; 00247 static const QString theStopButtonToolTip; 00248 static const QString theContinuousButtonToolTip; 00249 static const QString theConfigureButtonToolTip; 00250 static const QString theSaveButtonToolTip; 00252 00254 static const QString theShortNAString; 00255 00257 static const QString theLongNAString; 00258 }; 00259 00260 #endif