//--------------------------------------------------------------------------- #include #pragma hdrstop #include "GenerationProperties.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "AdvDirectoryEdit" #pragma link "AdvEdBtn" #pragma link "AdvEdit" #pragma link "AdvPanel" #pragma link "advlued" #pragma link "dbadvle" #pragma resource "*.dfm" TGenerationPropertiesForm *GenerationPropertiesForm; //--------------------------------------------------------------------------- __fastcall TGenerationPropertiesForm::TGenerationPropertiesForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TGenerationPropertiesForm::FormShow(TObject *Sender) { TRegistry * registry = 0; try { registry = new TRegistry(); registry->RootKey = HKEY_CURRENT_USER; // Create the key if it doesn't exist. registry->OpenKey( "Software\\ERG\\TxnTestManager", true ); AnsiString profile; AnsiString securityServer; AnsiString keyNumber; AnsiString keyVersion; AnsiString macAlgorithm; profile = registry->ReadString( "Profile" ); if ( profile.IsEmpty() ) { profile = "TDS"; } securityServer = registry->ReadString( "SecurityServerPipe" ); if ( securityServer.IsEmpty() ) { securityServer = "CryptoServer"; } keyNumber = registry->ReadString( "KeyNumber" ); if ( keyNumber.IsEmpty() ) { keyNumber = "5"; } keyVersion = registry->ReadString( "KeyVersion" ); if ( keyVersion.IsEmpty() ) { keyVersion = "-2"; } GenerationProfileComboBox->Text = profile; GenerationProfileComboBox->ItemIndex = -1; int index = 0; for ( index = 0; index < GenerationProfileComboBox->Items->Count; ++index ) { if ( GenerationProfileComboBox->Items->Strings[ index ] == profile ) { GenerationProfileComboBox->ItemIndex = index; break; } } SecurityServerPipeEdit->Text = securityServer; KeyNumberEdit->Text = keyNumber; KeyVersionEdit->Text = keyVersion; macAlgorithm = registry->ReadString( "MacAlgorithm" ); if ( macAlgorithm.IsEmpty() ) { macAlgorithm = "MAC"; } for ( index = 0; index < MacAlgorithmComboBox->Items->Count; ++index ) { if ( MacAlgorithmComboBox->Items->Strings[ index ] == macAlgorithm ) { MacAlgorithmComboBox->ItemIndex = index; break; } } readProfile( *registry, profile ); } __finally { delete registry; } } //--------------------------------------------------------------------------- void __fastcall TGenerationPropertiesForm::OKClick(TObject *Sender) { TRegistry * registry = 0; try { registry = new TRegistry(); registry->RootKey = HKEY_CURRENT_USER; // Create the key if it doesn't exist. registry->OpenKey( "Software\\ERG\\TxnTestManager", true ); registry->WriteString( "Profile", GenerationProfileComboBox->Text ); registry->WriteString( "SecurityServerPipe", SecurityServerPipeEdit->Text ); registry->WriteString( "KeyNumber", KeyNumberEdit->Text ); registry->WriteString( "KeyVersion", KeyVersionEdit->Text ); registry->WriteString( "MacAlgorithm", MacAlgorithmComboBox->Text ); if ( registry->OpenKey( GenerationProfileComboBox->Text, true ) ) { registry->WriteString( "Folder", GenerationFolderDirectoryEdit->Text ); registry->WriteBool( "GenerateHeaders", GenerateHeadersCheckBox->Checked ); registry->WriteString( "DrainFilePrefix", DrainFilePrefixEdit->Text ); registry->WriteString( "DrainFileSuffix", DrainFileSuffixEdit->Text ); registry->WriteBool( "BuildManifest", BuildManifestCheckBox->Checked ); registry->WriteString( "ManifestPrefix", ManifestPrefixEdit->Text ); registry->WriteString( "ManifestSuffix", ManifestSuffixEdit->Text ); registry->WriteString( "PathmapTarget", PathmapTargetEdit->Text ); } } __finally { delete registry; } } //--------------------------------------------------------------------------- void __fastcall TGenerationPropertiesForm::GenerationProfileComboBoxChange( TObject *Sender) { TRegistry * registry = 0; try { registry = new TRegistry(); registry->RootKey = HKEY_CURRENT_USER; // Create the key if it doesn't exist. registry->OpenKey( "Software\\ERG\\TxnTestManager", true ); readProfile( *registry, GenerationProfileComboBox->Text ); } __finally { delete registry; } } //--------------------------------------------------------------------------- void __fastcall TGenerationPropertiesForm::readProfile( TRegistry & registry, const AnsiString & profile ) { if ( registry.OpenKey( profile, true ) ) { AnsiString folder; bool generateHeaders = true; AnsiString drainFilePrefix; AnsiString drainFileSuffix = ".devud"; bool buildManifest = true; AnsiString manifestPrefix = "udMan"; AnsiString manifestSuffix = ".txt"; AnsiString pathmapTarget = "/afc/ergdce/var/DCE/ud/drained"; folder = registry.ReadString( "Folder" ); try { generateHeaders = registry.ReadBool( "GenerateHeaders" ); } catch ( ... ) { generateHeaders = true; } drainFilePrefix = registry.ReadString( "DrainFilePrefix" ); drainFileSuffix = registry.ReadString( "DrainFileSuffix" ); if ( drainFileSuffix.IsEmpty() ) { drainFileSuffix = ".devud"; } try { buildManifest = registry.ReadBool( "BuildManifest" ); } catch ( ... ) { buildManifest = false; } manifestPrefix = registry.ReadString( "ManifestPrefix" ); if ( manifestPrefix.IsEmpty() ) { manifestPrefix = "udMan"; } manifestSuffix = registry.ReadString( "ManifestSuffix" ); if ( manifestSuffix.IsEmpty() ) { manifestSuffix = ".txt"; } pathmapTarget = registry.ReadString( "PathmapTarget" ); if ( pathmapTarget.IsEmpty() ) { pathmapTarget = "/afc/ergdce/var/DCE/ud/drained"; } GenerationFolderDirectoryEdit->Text = folder; GenerateHeadersCheckBox->Checked = generateHeaders; DrainFilePrefixEdit->Text = drainFilePrefix; DrainFileSuffixEdit->Text = drainFileSuffix; BuildManifestCheckBox->Checked = buildManifest; ManifestPrefixEdit->Text = manifestPrefix; ManifestSuffixEdit->Text = manifestSuffix; PathmapTargetEdit->Text = pathmapTarget; ManifestPrefixEdit->Enabled = BuildManifestCheckBox->Checked; ManifestSuffixEdit->Enabled = BuildManifestCheckBox->Checked; PathmapTargetEdit->Enabled = BuildManifestCheckBox->Checked; } } //--------------------------------------------------------------------------- void __fastcall TGenerationPropertiesForm::BuildManifestCheckBoxClick( TObject *Sender) { ManifestPrefixEdit->Enabled = BuildManifestCheckBox->Checked; ManifestSuffixEdit->Enabled = BuildManifestCheckBox->Checked; PathmapTargetEdit->Enabled = BuildManifestCheckBox->Checked; } //---------------------------------------------------------------------------