Subversion Repositories DevTools

Rev

Go to most recent revision | Details | 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;
85
class UdTransferManager;
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;
259
 
260
 
261
	void __fastcall FormShow(TObject *Sender);
262
	void __fastcall EditTestCaseExecute(TObject *Sender);
263
	void __fastcall UseCaseDBGridEnter(TObject *Sender);
264
	void __fastcall TestCaseTreeViewEnter(TObject *Sender);
265
 
266
	void __fastcall LoadIteration(TObject *Sender);
267
	void __fastcall IterationParamsQueryAfterInsert(TDataSet *DataSet);
268
	void __fastcall TestCaseTreeViewChange(TObject *Sender, TTreeNode *Node);
269
	void __fastcall NewTransactionActionExecute(TObject *Sender);
270
	void __fastcall DeleteTransactionActionExecute(TObject *Sender);
271
	void __fastcall TestCaseZoomInClick(TObject *Sender);
272
	void __fastcall TestCaseZoomOutClick(TObject *Sender);
273
	void __fastcall AddTestCaseNodeClick(TObject *Sender);
274
	void __fastcall TestCaseTreeViewEndDrag(TObject *Sender, TObject *Target,int X, int Y);
275
	void __fastcall TestCaseTreeViewStartDrag(TObject *Sender, TDragObject *&DragObject);
276
	void __fastcall TestCaseTreeViewDragOver(TObject *Sender, TObject *Source, int X, int Y, TDragState State, bool &Accept);
277
	void __fastcall ApplyTemplatesClick(TObject *Sender);
278
	void __fastcall TxnHdrValuesQueryAfterInsert(TDataSet *DataSet);
279
	void __fastcall ScenarioParametersClick(TObject *Sender);
280
	void __fastcall TestCaseTreeViewMouseDown(TObject *Sender,TMouseButton Button, TShiftState Shift, int X, int Y);
281
	void __fastcall TxnValuesQueryBeforePost(TDataSet *DataSet);
282
        void __fastcall TxnStepsQueryBeforeClose(TDataSet *DataSet);
283
	void __fastcall RemoveUserSuppliedValueClick(TObject *Sender);
284
	void __fastcall CopyValuesToClipboardBtnClick(TObject *Sender);
285
	void __fastcall GenerateTestTestCaseBtnClick(TObject *Sender);
286
	void __fastcall ApplyTemplatesToScenarioClick(TObject *Sender);
287
	void __fastcall FieldEnumValuesDblClick(TObject *Sender);
288
	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
289
	void __fastcall SetGenerationDirectoryClick(TObject *Sender);
290
	void __fastcall TestCaseGridRowChanging(TObject *Sender, int OldRow,int NewRow, bool &Allow);
291
        void __fastcall TestCaseQueryAfterClose(TDataSet *DataSet);
292
        void __fastcall TestCaseQueryAfterOpen(TDataSet *DataSet);
293
        void __fastcall TestCaseQueryBeforePost(TDataSet *DataSet);
294
	void __fastcall TestCaseQueryAfterPost(TDataSet *DataSet);
295
	void __fastcall TxnStepsQueryAfterPost(TDataSet *DataSet);	
296
	void __fastcall TxnStepsNewRow(TDataSet *DataSet);		
297
        void __fastcall SequenceGeneratorQueryAfterInsert(TDataSet *DataSet);
298
        void __fastcall TestCaseTreeViewEditing(TObject *Sender, TTreeNode *Node, bool &AllowEdit);
299
	void __fastcall TestCaseTreeViewEdited(TObject *Sender,TTreeNode *Node, AnsiString &S);
300
	void __fastcall TestScenarioPropertiesClick(TObject *Sender);
301
	void __fastcall TestCaseTreeViewContextPopup(TObject *Sender,TPoint &MousePos, bool &Handled);
302
	void __fastcall DeleteScenarioClick(TObject *Sender);
303
        void __fastcall DeleteScenarioChildren(int scenario);
304
	void __fastcall TransactionValueGrid1BeforeContractNode(TObject *Sender,int ARow, int ARowReal, bool &Allow);
305
	void __fastcall TransactionValueGridCanEditCell(TObject *Sender, int ARow, int ACol, bool &CanEdit);
306
	void __fastcall TransactionValueGridGetDisplText(TObject *Sender, int ACol, int ARow, AnsiString &Value);
307
	void __fastcall TransactionValueGridRowChanging(TObject *Sender, int OldRow, int NewRow, bool &Allow);
308
	void __fastcall HeaderStructureGridRowChanging(TObject *Sender, int OldRow, int NewRow, bool &Allow);
309
        void __fastcall StepsGridRowChanging(TObject *Sender, int OldRow, int NewRow, bool &Allow);
310
	void __fastcall HeaderStructureTabSheetShow(TObject *Sender);
311
	void __fastcall PayloadStructureTabSheetShow(TObject *Sender);
312
	void __fastcall MainStatusBarResize(TObject *Sender);
313
	void __fastcall TransactionValueGridKeyDown(TObject *Sender, WORD &Key,TShiftState Shift);
314
	void __fastcall HeaderStructureGridKeyDown(TObject *Sender, WORD &Key,TShiftState Shift);
315
	void __fastcall ImportTransactionActionExecute(TObject *Sender);
316
	void __fastcall GenerateActionExecute(TObject *Sender);
317
        void __fastcall UdTransferBtnClick(TObject *Sender);
318
        void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
319
        void __fastcall TestCaseTreeViewKeyUp(TObject *Sender, WORD &Key,  TShiftState Shift);
320
        void __fastcall ExitClick(TObject *Sender);
321
        void __fastcall StepsGridNewRow (TObject *Sender, int ARow);
322
        void __fastcall ScenarioStepsNavigatorClick(TObject *Sender, TAdvNavigateBtn Button);
323
        void __fastcall ScenarioStepsNavigatorBefore(TObject *Sender, TAdvNavigateBtn Button);
324
        void __fastcall ValidateOldTestCaseCell(TObject *Sender, int OldRow,
325
          int OldCol, int NewRow, int NewCol, bool &Allow);
326
 
327
 
328
 
329
private:	// User declarations
330
	TXNIndexMap			m_mass_txns;
331
        AnsiString			m_testteamcode;
332
        AnsiString          m_currenttestcaseid;
333
	AnsiString			m_currentproject;
334
        int					m_currentiteration;
335
        string				m_schema_handle;
336
        int					m_testscenario_no;
337
        int					m_txnspec_no;
338
        string				m_structure_name;
339
	bool				m_engineering_mode;
340
	int                 m_currentcaserepeat;
341
	int                 m_currentcasedelay;
342
 
343
	TRegistry *						m_Registry;
344
	vector< string >				m_xml_schemas;
345
	TTreeNode *						m_startnode;
346
	std::vector< int >				m_parents;
347
	TransactionCache				m_transactionCache;
348
	TransactionTemplateCollection	m_transactionTemplates;
349
	ProgressBar *					m_progressBar;
350
        UdTransferManager *             m_transferManager;
351
 
352
	HINSTANCE					m_securityWrapper;
353
	getSecurityWrapperFactory_t	m_getSecurityWrapperFactory;
354
	ISecurityWrapperFactory *	m_securityWrapperFactory;
355
 
356
        void __fastcall InitialiseMASSTxns();
357
        void __fastcall InitialiseTxnParams(unsigned int schema_format_version, IterationParams &iteration_params, IterationSequences &iteration_sequences);
358
	void __fastcall InitialiseTestScenario(unsigned int testscenario_no, TxnSpecValueMap &txnSpecValueMap, FoundTxnSpecValueMap &foundTxnSpecValueMap, IterationSequences &iteration_sequences, IterationParams &iteration_params);
359
        string __fastcall FindField(const string &structure_name, int fieldtag);
360
        void __fastcall InitialiseUdTransferManager();
361
 
362
        void __fastcall LoadTestCaseNodes(TTreeNode *testcase_node);
363
        void __fastcall ResequenceTestCases(TTreeNode *testcase_node);
364
        void __fastcall ResequenceTransactions(TTreeNode *testcase_node);
365
        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);
366
	AnsiString LookupParameter(IterationParams &iteration_params, IterationSequences &iteration_sequences, TADOQuery *query, int testscenario_no, const string &param, unsigned short udtype, unsigned short udsubtype);
367
	static AnsiString & getNameFromNode( AnsiString & name, const AnsiString & string );
368
	void __fastcall populateHeaderStructureTab( const AnsiString & structure );
369
	void __fastcall populatePayloadStructureTab( const AnsiString & structure );
370
	void __fastcall buildTransactionSpecificationValues(
371
						TransactionCache &	transactionCache,
372
						const int &			testScenario,
373
						const int &			transactionSpecification,
374
						const std::string &	transactionStructureName,
375
						const std::string &	headerStructureName,
376
						const std::string &	schema,
377
						const int &			iteration );
378
	void __fastcall buildTransactionSpecificationFieldValue(
379
						TADOQuery &					query,
380
						const std::string &			rootStructure,
381
						const std::string &			fieldHandle,
382
						const int &					testScenario,
383
						const int &					transactionSpecification,
384
						int &						ordinal,
385
						const &						childCount,
386
						TransactionSpecification &	transactions,
387
						const int &					subscript = 0 );
388
	void __fastcall buildTransactionSpecificationRepeatValue(
389
						TADOQuery &					query,
390
						const std::string &			rootStructure,
391
						const std::string &			attribute,
392
						const int &					testScenario,
393
						const int &					transactionSpecification,
394
						const std::string &			transactionStructureHandle,
395
						int &						ordinal,
396
						TransactionSpecification &	transactions,
397
						const int &					repeatLimit = 1000 );
398
	void __fastcall buildTransactionSpecificationValues(
399
						TADOQuery &					query,
400
						const std::string &			rootStructure,
401
						const int &					testScenario,
402
						const int &					transactionSpecification,
403
						const std::string &			transactionStructureHandle,
404
						int &						ordinal,
405
						TransactionSpecification &	transactions );
406
 
407
	const unsigned __fastcall countChildren(
408
						const std::string &	transactionStructureHandle,
409
						const bool &	isStructureRepeat );
410
	const unsigned __fastcall countChildren(
411
						const std::string &	attribute,
412
						const std::string &		transactionStructureHandle,
413
						const int &			repeatLimit = 1000 );
414
 
415
	void __fastcall clearTransactionSpecificationValueTree( TDBAdvGrid & grid );
416
	void __fastcall buildTransactionSpecificationValueTree(
417
						TDBAdvGrid &	grid,
418
						TADOQuery &		query );
419
	static const int countChildNodes(
420
						TDBAdvGrid &	grid,
421
						TADOQuery &		query,
422
						const int &		row,
423
						const int &		rows );
424
	void __fastcall getParentOrdinals( std::vector< int > & parents );
425
	const bool __fastcall isParent( const int & ordinal );
426
	void __fastcall readTransactionSpecifications(
427
						TransactionSpecification &	transaction,
428
						const int &					transactionSpecification );
429
	void __fastcall TransactionGridRowChanging( TADOQuery & query, const char * structureName );
430
	void __fastcall buildTransactionTemplates( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
431
	void __fastcall loadLegacyHeaderValues( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
432
	void __fastcall loadLegacyParameters( TransactionTemplateCollection & templates, const AnsiString & project, const int & iteration );
433
	void __fastcall applyTemplatesToScenario( ProgressBar & progressBar, const int & scenario );
434
        void __fastcall TMainForm::applyTemplatesToNewTransaction(
435
                                    const int &						transaction,
436
                                    const TestScenarioTemplate *	all );	
437
        void __fastcall applyTemplatesToTransaction(
438
									ProgressBar &					progressBar,
439
									const int &						transaction,
440
									const TestScenarioTemplate *	testScenario,
441
									const TestScenarioTemplate *	all );
442
	const unsigned __fastcall countTransactionsInScenario( const int & scenario );
443
	const unsigned __fastcall countTransactionsInIteration( const char * project, const int & iteration );
444
	void __fastcall buildTransactionsForIteration(
445
						TransactionCache &	transactionCache,
446
						ProgressBar &		progressBar,
447
						const std::string &	schema,
448
						const std::string &	project,
449
						const int &			iteration );
450
	void __fastcall buildTransactionsForScenario(
451
					TransactionCache &	transactionCache,
452
					ProgressBar &		progressBar,
453
					const int &			scenario,
454
					const std::string &	schema,
455
					const int &			iteration );
456
	void __fastcall buildExecutionSchedule(
457
						Iteration &			iteration,
458
						const std::string &	testcaseId );
459
	void __fastcall buildExecutionSchedule( TestScenario & testScenario );
460
	void __fastcall buildExecutionSchedule( TransactionSpecification & transactionSpecification );
461
	const bool __fastcall findSchema( std::string &			handle,
462
									  const AnsiString &	projectCode,
463
									  const int &			iteration );
464
	void __fastcall loadLegacyVariables(
465
						DefinedVariableTable &	variables,
466
						const AnsiString &		project,
467
						Iteration &				iteration );
468
	const bool __fastcall openSecurityFactory( const char * library = "SecurityWrapper.dll" );
469
	void __fastcall closeSecurityFactory();
470
	void __fastcall readSequences( SequenceCollection & sequences, const std::string & project, const int & iteration );
471
	void __fastcall writeSequences( const SequenceCollection & sequences, const std::string & project, const int & iteration );
472
	void __fastcall importTransaction( const int & testScenarioNumber, const AnsiString & profile, const AnsiString & file );
473
	void __fastcall generateTransaction( std::vector< int > & scenarios );
474
 
475
public:		// User declarations
476
	__fastcall TMainForm(TComponent* Owner);
477
	__fastcall virtual ~TMainForm();
478
	static const char *	g_headerStructure;
479
	static const int	g_messagePanel;
480
 
481
};
482
//---------------------------------------------------------------------------
483
extern PACKAGE TMainForm *MainForm;
484
//---------------------------------------------------------------------------
485
#endif