Subversion Repositories DevTools

Rev

Rev 2263 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2263 kivins 1
//---------------------------------------------------------------------------
2
 
3
#ifndef MainH
4
#define MainH
5
//---------------------------------------------------------------------------
6
#include <Classes.hpp>
7
#include <Controls.hpp>
8
#include <StdCtrls.hpp>
9
#include <Forms.hpp>
10
#include <ComCtrls.hpp>
11
#include <ExtCtrls.hpp>
12
#include <Menus.hpp> 
13
#include <ToolWin.hpp>
14
#include <Buttons.hpp>
15
#include <DBCtrls.hpp>
16
#include "Grids_ts.hpp"
17
#include "TSDBGrid.hpp"
18
#include "TSGrid.hpp"
19
#include <ADODB.hpp>
20
#include <DB.hpp>
21
#include <ActnList.hpp>
22
#include <vcl\Clipbrd.hpp>
23
#include <ImgList.hpp>
24
#include "TXMLSchema.h"
25
#include "AdvGrid.hpp"
26
#include "BaseGrid.hpp"
27
#include <Grids.hpp>
28
#include "DBAdvNavigator.hpp"
29
#include "AdvPageControl.hpp"
30
#include "AsgFindDialog.hpp"
31
#include "DBAdvGrd.hpp"
32
#include "DBAdvGrid.hpp"
33
#include "ProgressBar.h"
34
#include <Mask.hpp>
35
 
36
#include <map>
37
#include <string>
38
#include <vector>
39
 
40
typedef map<unsigned int, AnsiString>	TXNIndexMap;
41
typedef pair<unsigned int, AnsiString>	TXNIndexPair;
42
 
43
 
44
typedef map<string, string>		IterationParams;
45
typedef pair<string, string>	IterationParamsPair;
46
 
47
typedef struct
48
{
49
	string			name;
50
	unsigned int	increment;
51
	unsigned int	initial_value;
52
	unsigned int	reset_at;
53
	unsigned int	value;
54
} IterationSequence;
55
 
56
typedef map<string,  IterationSequence>		IterationSequences;
57
typedef pair<string, IterationSequence>		IterationSequencesPair;
58
 
59
typedef struct
60
{
61
	int			txnscenario_no;
62
	int			txnspec_no;
63
	int			fieldtag;
64
	AnsiString  fieldname;
65
	int			subscript;
66
	AnsiString  fieldvalue;
67
	AnsiString  xpath;
68
	char		user_supplied;
69
} TxnSpecValue;
70
 
71
typedef map<AnsiString, TxnSpecValue>				TxnSpecValueMap;
72
typedef map<AnsiString, TxnSpecValue>::iterator		TxnSpecValueIterator;
73
typedef pair<AnsiString, TxnSpecValue>				TxnSpecValuePair;
74
 
75
typedef map<AnsiString, char>						FoundTxnSpecValueMap;
76
typedef pair<AnsiString, char>						FoundTxnSpecValuePair;
77
typedef map<AnsiString, char>::iterator				FoundTxnSpecValueIterator;
78
 
79
class DefinedVariableTable;
80
class Iteration;
81
class ISecurityWrapperFactory;
82
class SequenceCollection;
83
class TestScenario;
84
class TransactionSpecification;
2265 kivins 85
//class UdTransferManager;
2263 kivins 86
#include "SecurityWrapper.h"
87
#include "TransactionCache.h"
88
#include "TransactionTemplateCollection.h"
89
 
90
using namespace std;
91
//---------------------------------------------------------------------------
92
class TMainForm : public TForm
93
{
94
__published:	// IDE-managed Components
95
	TPanel *Panel1;
96
	TPanel *Panel2;
97
	TSplitter *Splitter1;
98
	TMainMenu *MainMenu1;
99
	TPanel *Panel4;
100
	TADOQuery *MASSTxnsQuery;
101
	TDataSource *MASSTxnsDataSource;
102
	TActionList *ActionList1;
103
	TAction *EditTestCase;
104
	TADOQuery *TxnSpecQuery;
105
	TDataSource *TxnSpecDataSource;
106
	TPanel *Panel3;
107
	TADOQuery *TxnValuesQuery;
108
	TDataSource *TxnValuesDataSource;
109
	TPanel *Panel8;
110
	TImageList *ImageList1;
111
	TADOQuery *TestCaseQuery;
112
	TDataSource *TestCaseEditDataSource;
113
	TPanel *Panel9;
114
	TDBMemo *DBMemo2;
115
	TDBMemo *DBMemo3;
116
	TLabel *Label4;
117
	TBitBtn *SaveUseCaseEditBtn;
118
	TADOQuery *IterationParamsQuery;
119
	TDataSource *IterationParamsDataSource;
120
	TPopupMenu *ScenarioPopupMenu;
121
	TMenuItem *NewTransaction;
122
	TAction *NewTransactionAction;
123
	TAction *DeleteTransactionAction;
124
	TPanel *TestCasePanel;
125
	TPanel *Panel6;
126
	TSplitter *Splitter2;
127
        TToolBar *TestScenarioToolBar;
128
	TToolButton *ToolButton2;
129
	TSpeedButton *AddTestCaseNode;
130
	TToolButton *ToolButton4;
131
	TSpeedButton *TestCaseZoomIn;
132
	TSpeedButton *TestCaseZoomOut;
133
	TTreeView *TestCaseTreeView;
134
	TPanel *Panel7;
135
	TAction *RunTestCase;
136
	TPanel *Panel10;
137
	TPanel *Panel5;
138
	TToolBar *ToolBar4;
139
	TToolButton *ToolButton8;
140
	TBitBtn *ApplyTemplates;
141
	TToolButton *ToolButton9;
142
	TADOQuery *TxnStepsQuery;
143
	TDataSource *TxnStepsDataSource;
144
	TDBNavigator *DBNavigator3;
145
	TtsDBGrid *tsDBGrid6;
146
	TADOQuery *TxnHdrValuesQuery;
147
	TDataSource *TxnHdrValuesDataSource;
148
	TDBNavigator *DBNavigator4;
149
	TtsDBGrid *tsDBGrid4;
150
	TMenuItem *N1;
151
	TMenuItem *ScenarioParameters;
152
	TADOQuery *SequenceGeneratorQuery;
153
	TDataSource *SequenceGeneratorDataSource;
154
	TPopupMenu *TxnValuesPopupMenu;
155
	TMenuItem *RemoveUserSuppliedValue;
156
	TBitBtn *GenerateTestTestCaseBtn;
157
	TMenuItem *ApplyTemplatesToScenario;
158
	TMemo *TxnFieldComments;
159
	TSplitter *Splitter5;
160
	TLabel *Label3;
161
	TEdit *FieldDatatype;
162
	TPanel *Panel13;
163
	TLabel *Label7;
164
	TListBox *FieldEnumValues;
165
	TStringField *TxnValuesQueryFIELDNAME;
166
	TStringField *TxnValuesQueryXPATH;
167
	TStringField *TxnValuesQueryPROJECT_CODE;
168
	TBCDField *TxnValuesQueryITERATION;
169
	TStringField *TxnValuesQueryUSER_SUPPLIED;
170
	TIntegerField *TxnValuesQuerySUBSCRIPT;
171
	TBCDField *TxnValuesQueryFIELDTAG;
172
	TStringField *TxnValuesQueryFIELDVALUE;
173
	TStringField *TxnValuesQueryNOTES;
174
	TBCDField *TxnValuesQueryTXNSPEC_NO;
175
	TBCDField *TxnValuesQueryTESTSCENARIO_NO;
176
	TStringField *TxnValuesQueryDISPLAY_FIELDNAME;
177
	TToolBar *ToolBar5;
178
	TDBAdvNavigator *DBAdvNavigator1;
179
	TDBAdvNavigator *PayloadStructureNavigator;
180
	TAdvPageControl *TestsPageControl;
181
	TAdvTabSheet *TestCaseTabSheet;
182
	TAdvTabSheet *ParamsTabSheet;
183
	TAdvTabSheet *MASSTxnTabSheet;
184
        TStringField *TestCaseQueryUSECASE_ID;
185
        TStringField *TestCaseQueryNAME;
186
        TStringField *TestCaseQueryDESCRIPTION;
187
        TStringField *TestCaseQueryTESTCASE_ID;
188
        TBCDField *TestCaseQueryCASE_REPEAT;
189
        TBCDField *TestCaseQueryREPEAT_DELAY;
190
	TMenuItem *N2;
191
	TMenuItem *Properties1;
192
	TPopupMenu *TransactionPopupMenu;
193
	TMenuItem *DeleteTransaction;
194
	TMenuItem *DeleteScenario;
195
	TAction *DeleteScenarioAction;
196
	TXMLSchema *XMLSchema;
197
	TAdvPageControl *TestParametersPageControl;
198
	TAdvTabSheet *IterationParametersTabSheet;
199
	TAdvTabSheet *BatchHeaderParametersTabSheet;
200
	TAdvTabSheet *SequenceGeneratorsTabSheet;
201
	TDBAdvStringGrid *TestCaseGrid;
202
        TDBAdvStringGrid *StepsGrid;
203
	TDBAdvStringGrid *DBAdvStringGrid2;
204
	TDBAdvStringGrid *DBAdvStringGrid3;
205
	TAdvPageControl *AdvPageControl1;
206
	TAdvTabSheet *AdvTabSheet1;
207
	TAdvTabSheet *AdvTabSheet2;
208
	TDBAdvGrid *NewPayloadStructureGrid;
209
	TDBAdvStringGrid *TransactionValueGrid;
210
	TAdvPageControl *TransactionStructurePageControl;
211
	TAdvTabSheet *PayloadStructureTabSheet;
212
	TAdvTabSheet *NewPayloadStructureTabSheet;
213
	TAdvTabSheet *HeaderStructureTabSheet;
214
	TBCDField *TxnValuesQueryORDINAL;
215
	TBCDField *TxnValuesQueryCHILD_COUNT;
216
	TStatusBar *MainStatusBar;
217
	TDBAdvNavigator *HeaderStructureNavigator;
218
	TDBAdvStringGrid *HeaderStructureGrid;
219
	TDBAdvNavigator *NewPayloadStructureNavigator;
220
	TADOQuery *TxnHeaderValuesQuery;
221
	TStringField *StringField1;
222
	TStringField *StringField2;
223
	TStringField *StringField3;
224
	TBCDField *BCDField1;
225
	TStringField *StringField4;
226
	TIntegerField *IntegerField1;
227
	TBCDField *BCDField2;
228
	TStringField *StringField5;
229
	TStringField *StringField6;
230
	TBCDField *BCDField3;
231
	TBCDField *BCDField4;
232
	TStringField *StringField7;
233
	TBCDField *BCDField5;
234
	TBCDField *BCDField6;
235
	TDataSource *TxnHeaderValuesDataSource;
236
	TAdvPageControl *MainPageControl;
237
	TAdvTabSheet *TestCasesTabSheet;
238
	TAdvTabSheet *TestScenariosTabSheet;
239
	TAdvTabSheet *ScenarioStepsTabSheet;
240
	TToolButton *ToolButton3;
241
	TAdvGridFindDialog *TransactionValueGridFindDialog;
242
	TAdvGridFindDialog *HeaderStructureGridFindDialog;
243
	TADOQuery *SequenceGeneratorValueQuery;
244
	TDataSource *SequenceGeneratorValueDataSource;
245
	TDBAdvStringGrid *SequenceGeneratorsGrid;
246
	TDBAdvNavigator *SequenceGeneratorNavigator;
247
	TEdit *DocDataType;
248
	TLabel *Label8;
249
	TMenuItem *ImportTransactions;
250
	TAction *ImportTransactionAction;
251
	TMenuItem *Generate;
252
	TAction *GenerateAction;
253
	TCheckBox *IncludedInMac;
254
        TToolButton *ToolButton5;
255
        TBitBtn *UdTransferBtn;
256
        TMenuItem *F1;
257
        TMenuItem *Exit;
258
        TPanel *Panel11;
2265 kivins 259
        TMenuItem *Help1;
260
        TMenuItem *About1;
2263 kivins 261
 
262
 
263
	void __fastcall FormShow(TObject *Sender);
264
	void __fastcall EditTestCaseExecute(TObject *Sender);
265
	void __fastcall UseCaseDBGridEnter(TObject *Sender);
266
	void __fastcall TestCaseTreeViewEnter(TObject *Sender);
267
 
268
	void __fastcall LoadIteration(TObject *Sender);
269
	void __fastcall IterationParamsQueryAfterInsert(TDataSet *DataSet);
270
	void __fastcall TestCaseTreeViewChange(TObject *Sender, TTreeNode *Node);
271
	void __fastcall NewTransactionActionExecute(TObject *Sender);
272
	void __fastcall DeleteTransactionActionExecute(TObject *Sender);
273
	void __fastcall TestCaseZoomInClick(TObject *Sender);
274
	void __fastcall TestCaseZoomOutClick(TObject *Sender);
275
	void __fastcall AddTestCaseNodeClick(TObject *Sender);
276
	void __fastcall TestCaseTreeViewEndDrag(TObject *Sender, TObject *Target,int X, int Y);
277
	void __fastcall TestCaseTreeViewStartDrag(TObject *Sender, TDragObject *&DragObject);
278
	void __fastcall TestCaseTreeViewDragOver(TObject *Sender, TObject *Source, int X, int Y, TDragState State, bool &Accept);
279
	void __fastcall ApplyTemplatesClick(TObject *Sender);
280
	void __fastcall TxnHdrValuesQueryAfterInsert(TDataSet *DataSet);
281
	void __fastcall ScenarioParametersClick(TObject *Sender);
282
	void __fastcall TestCaseTreeViewMouseDown(TObject *Sender,TMouseButton Button, TShiftState Shift, int X, int Y);
283
	void __fastcall TxnValuesQueryBeforePost(TDataSet *DataSet);
284
        void __fastcall TxnStepsQueryBeforeClose(TDataSet *DataSet);
285
	void __fastcall RemoveUserSuppliedValueClick(TObject *Sender);
286
	void __fastcall CopyValuesToClipboardBtnClick(TObject *Sender);
287
	void __fastcall GenerateTestTestCaseBtnClick(TObject *Sender);
288
	void __fastcall ApplyTemplatesToScenarioClick(TObject *Sender);
289
	void __fastcall FieldEnumValuesDblClick(TObject *Sender);
290
	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
291
	void __fastcall SetGenerationDirectoryClick(TObject *Sender);
292
	void __fastcall TestCaseGridRowChanging(TObject *Sender, int OldRow,int NewRow, bool &Allow);
293
        void __fastcall TestCaseQueryAfterClose(TDataSet *DataSet);
294
        void __fastcall TestCaseQueryAfterOpen(TDataSet *DataSet);
295
        void __fastcall TestCaseQueryBeforePost(TDataSet *DataSet);
296
	void __fastcall TestCaseQueryAfterPost(TDataSet *DataSet);
297
	void __fastcall TxnStepsQueryAfterPost(TDataSet *DataSet);	
298
	void __fastcall TxnStepsNewRow(TDataSet *DataSet);		
299
        void __fastcall SequenceGeneratorQueryAfterInsert(TDataSet *DataSet);
300
        void __fastcall TestCaseTreeViewEditing(TObject *Sender, TTreeNode *Node, bool &AllowEdit);
301
	void __fastcall TestCaseTreeViewEdited(TObject *Sender,TTreeNode *Node, AnsiString &S);
302
	void __fastcall TestScenarioPropertiesClick(TObject *Sender);
303
	void __fastcall TestCaseTreeViewContextPopup(TObject *Sender,TPoint &MousePos, bool &Handled);
304
	void __fastcall DeleteScenarioClick(TObject *Sender);
305
        void __fastcall DeleteScenarioChildren(int scenario);
306
	void __fastcall TransactionValueGrid1BeforeContractNode(TObject *Sender,int ARow, int ARowReal, bool &Allow);
307
	void __fastcall TransactionValueGridCanEditCell(TObject *Sender, int ARow, int ACol, bool &CanEdit);
308
	void __fastcall TransactionValueGridGetDisplText(TObject *Sender, int ACol, int ARow, AnsiString &Value);
309
	void __fastcall TransactionValueGridRowChanging(TObject *Sender, int OldRow, int NewRow, bool &Allow);
310
	void __fastcall HeaderStructureGridRowChanging(TObject *Sender, int OldRow, int NewRow, bool &Allow);
311
        void __fastcall StepsGridRowChanging(TObject *Sender, int OldRow, int NewRow, bool &Allow);
312
	void __fastcall HeaderStructureTabSheetShow(TObject *Sender);
313
	void __fastcall PayloadStructureTabSheetShow(TObject *Sender);
314
	void __fastcall MainStatusBarResize(TObject *Sender);
315
	void __fastcall TransactionValueGridKeyDown(TObject *Sender, WORD &Key,TShiftState Shift);
316
	void __fastcall HeaderStructureGridKeyDown(TObject *Sender, WORD &Key,TShiftState Shift);
317
	void __fastcall ImportTransactionActionExecute(TObject *Sender);
318
	void __fastcall GenerateActionExecute(TObject *Sender);
319
        void __fastcall UdTransferBtnClick(TObject *Sender);
320
        void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
321
        void __fastcall TestCaseTreeViewKeyUp(TObject *Sender, WORD &Key,  TShiftState Shift);
322
        void __fastcall ExitClick(TObject *Sender);
323
        void __fastcall StepsGridNewRow (TObject *Sender, int ARow);
324
        void __fastcall ScenarioStepsNavigatorClick(TObject *Sender, TAdvNavigateBtn Button);
325
        void __fastcall ScenarioStepsNavigatorBefore(TObject *Sender, TAdvNavigateBtn Button);
326
        void __fastcall ValidateOldTestCaseCell(TObject *Sender, int OldRow,
327
          int OldCol, int NewRow, int NewCol, bool &Allow);
2265 kivins 328
        void __fastcall AboutClick(TObject *Sender);
2263 kivins 329
 
330
 
331
 
332
private:	// User declarations
333
	TXNIndexMap			m_mass_txns;
334
        AnsiString			m_testteamcode;
335
        AnsiString          m_currenttestcaseid;
336
	AnsiString			m_currentproject;
337
        int					m_currentiteration;
338
        string				m_schema_handle;
339
        int					m_testscenario_no;
340
        int					m_txnspec_no;
341
        string				m_structure_name;
342
	bool				m_engineering_mode;
343
	int                 m_currentcaserepeat;
344
	int                 m_currentcasedelay;
345
 
346
	TRegistry *						m_Registry;
347
	vector< string >				m_xml_schemas;
348
	TTreeNode *						m_startnode;
349
	std::vector< int >				m_parents;
350
	TransactionCache				m_transactionCache;
351
	TransactionTemplateCollection	m_transactionTemplates;
352
	ProgressBar *					m_progressBar;
2265 kivins 353
    //    UdTransferManager *             m_transferManager;
2263 kivins 354
 
355
	HINSTANCE					m_securityWrapper;
356
	getSecurityWrapperFactory_t	m_getSecurityWrapperFactory;
357
	ISecurityWrapperFactory *	m_securityWrapperFactory;
358
 
359
        void __fastcall InitialiseMASSTxns();
360
        void __fastcall InitialiseTxnParams(unsigned int schema_format_version, IterationParams &iteration_params, IterationSequences &iteration_sequences);
361
	void __fastcall InitialiseTestScenario(unsigned int testscenario_no, TxnSpecValueMap &txnSpecValueMap, FoundTxnSpecValueMap &foundTxnSpecValueMap, IterationSequences &iteration_sequences, IterationParams &iteration_params);
362
        string __fastcall FindField(const string &structure_name, int fieldtag);
363
        void __fastcall InitialiseUdTransferManager();
364
 
365
        void __fastcall LoadTestCaseNodes(TTreeNode *testcase_node);
366
        void __fastcall ResequenceTestCases(TTreeNode *testcase_node);
367
        void __fastcall ResequenceTransactions(TTreeNode *testcase_node);
368
        void __fastcall ProcessTxnStructure(string structure_handle, unsigned short udtype, unsigned short udsubtype, int testscenario_no, int txnspec_no, TADOQuery *query, TxnSpecValueMap &txnSpecValueMap, FoundTxnSpecValueMap &foundTxnSpecValueMap, IterationParams &iteration_params, IterationSequences &iteration_sequences, unsigned int nested_subscript);
369
	AnsiString LookupParameter(IterationParams &iteration_params, IterationSequences &iteration_sequences, TADOQuery *query, int testscenario_no, const string &param, unsigned short udtype, unsigned short udsubtype);
370
	static AnsiString & getNameFromNode( AnsiString & name, const AnsiString & string );
371
	void __fastcall populateHeaderStructureTab( const AnsiString & structure );
372
	void __fastcall populatePayloadStructureTab( const AnsiString & structure );
373
	void __fastcall buildTransactionSpecificationValues(
374
						TransactionCache &	transactionCache,
375
						const int &			testScenario,
376
						const int &			transactionSpecification,
377
						const std::string &	transactionStructureName,
378
						const std::string &	headerStructureName,
379
						const std::string &	schema,
380
						const int &			iteration );
381
	void __fastcall buildTransactionSpecificationFieldValue(
382
						TADOQuery &					query,
383
						const std::string &			rootStructure,
384
						const std::string &			fieldHandle,
385
						const int &					testScenario,
386
						const int &					transactionSpecification,
387
						int &						ordinal,
388
						const &						childCount,
389
						TransactionSpecification &	transactions,
390
						const int &					subscript = 0 );
391
	void __fastcall buildTransactionSpecificationRepeatValue(
392
						TADOQuery &					query,
393
						const std::string &			rootStructure,
394
						const std::string &			attribute,
395
						const int &					testScenario,
396
						const int &					transactionSpecification,
397
						const std::string &			transactionStructureHandle,
398
						int &						ordinal,
399
						TransactionSpecification &	transactions,
400
						const int &					repeatLimit = 1000 );
401
	void __fastcall buildTransactionSpecificationValues(
402
						TADOQuery &					query,
403
						const std::string &			rootStructure,
404
						const int &					testScenario,
405
						const int &					transactionSpecification,
406
						const std::string &			transactionStructureHandle,
407
						int &						ordinal,
408
						TransactionSpecification &	transactions );
409
 
410
	const unsigned __fastcall countChildren(
411
						const std::string &	transactionStructureHandle,
412
						const bool &	isStructureRepeat );
413
	const unsigned __fastcall countChildren(
414
						const std::string &	attribute,
415
						const std::string &		transactionStructureHandle,
416
						const int &			repeatLimit = 1000 );
417
 
418
	void __fastcall clearTransactionSpecificationValueTree( TDBAdvGrid & grid );
419
	void __fastcall buildTransactionSpecificationValueTree(
420
						TDBAdvGrid &	grid,
421
						TADOQuery &		query );
422
	static const int countChildNodes(
423
						TDBAdvGrid &	grid,
424
						TADOQuery &		query,
425
						const int &		row,
426
						const int &		rows );
427
	void __fastcall getParentOrdinals( std::vector< int > & parents );
428
	const bool __fastcall isParent( const int & ordinal );
429
	void __fastcall readTransactionSpecifications(
430
						TransactionSpecification &	transaction,
431
						const int &					transactionSpecification );
432
	void __fastcall TransactionGridRowChanging( TADOQuery & query, const char * structureName );
433
	void __fastcall buildTransactionTemplates( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
434
	void __fastcall loadLegacyHeaderValues( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
435
	void __fastcall loadLegacyParameters( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
436
	void __fastcall applyTemplatesToScenario( ProgressBar & progressBar, const int & scenario );
437
        void __fastcall TMainForm::applyTemplatesToNewTransaction(
438
                                    const int &						transaction,
439
                                    const TestScenarioTemplate *	all );	
440
        void __fastcall applyTemplatesToTransaction(
441
									ProgressBar &					progressBar,
442
									const int &						transaction,
443
									const TestScenarioTemplate *	testScenario,
444
									const TestScenarioTemplate *	all );
445
	const unsigned __fastcall countTransactionsInScenario( const int & scenario );
446
	const unsigned __fastcall countTransactionsInIteration( const char * project, const int & iteration );
447
	void __fastcall buildTransactionsForIteration(
448
						TransactionCache &	transactionCache,
449
						ProgressBar &		progressBar,
450
						const std::string &	schema,
451
						const std::string &	project,
452
						const int &			iteration );
453
	void __fastcall buildTransactionsForScenario(
454
					TransactionCache &	transactionCache,
455
					ProgressBar &		progressBar,
456
					const int &			scenario,
457
					const std::string &	schema,
458
					const int &			iteration );
459
	void __fastcall buildExecutionSchedule(
460
						Iteration &			iteration,
461
						const std::string &	testcaseId );
462
	void __fastcall buildExecutionSchedule( TestScenario & testScenario );
463
	void __fastcall buildExecutionSchedule( TransactionSpecification & transactionSpecification );
464
	const bool __fastcall findSchema( std::string &			handle,
465
									  const AnsiString &	projectCode,
466
									  const int &			iteration );
467
	void __fastcall loadLegacyVariables(
468
						DefinedVariableTable &	variables,
469
						const AnsiString &		project,
470
						Iteration &				iteration );
471
	const bool __fastcall openSecurityFactory( const char * library = "SecurityWrapper.dll" );
472
	void __fastcall closeSecurityFactory();
473
	void __fastcall readSequences( SequenceCollection & sequences, const std::string & project, const int & iteration );
474
	void __fastcall writeSequences( const SequenceCollection & sequences, const std::string & project, const int & iteration );
475
	void __fastcall importTransaction( const int & testScenarioNumber, const AnsiString & profile, const AnsiString & file );
476
	void __fastcall generateTransaction( std::vector< int > & scenarios );
477
 
478
public:		// User declarations
479
	__fastcall TMainForm(TComponent* Owner);
480
	__fastcall virtual ~TMainForm();
481
	static const char *	g_headerStructure;
482
	static const int	g_messagePanel;
483
 
484
};
485
//---------------------------------------------------------------------------
486
extern PACKAGE TMainForm *MainForm;
487
//---------------------------------------------------------------------------
488
#endif