123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- //---------------------------------------------------------------------------
- #include <vcl.h>
- #include "EncryptionF.h"
- #include <inifiles.hpp>
- #pragma hdrstop
- #include "FrmMainF.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma link "cxContainer"
- #pragma link "cxControls"
- #pragma link "cxEdit"
- #pragma link "cxGraphics"
- #pragma link "cxLookAndFeelPainters"
- #pragma link "cxLookAndFeels"
- #pragma link "cxMaskEdit"
- #pragma link "cxSpinEdit"
- #pragma link "cxTextEdit"
- #pragma link "dxSkinBlack"
- #pragma link "dxSkinMcSkin"
- #pragma link "dxSkinsCore"
- #pragma link "cxButtons"
- #pragma link "cxDropDownEdit"
- #pragma resource "*.dfm"
- TFrmMain *FrmMain;
- //---------------------------------------------------------------------------
- __fastcall TFrmMain::TFrmMain(TComponent* Owner)
- : TForm(Owner)
- {
- String FAppDir = ExtractFilePath(Application->ExeName);
- ConfigFileName = FAppDir + "\\License\\AipApiLicense.ini";
- CboLoginType->ItemIndex = -1;
- LoadConfig();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmMain::LoadConfig()
- {
- TIniFile *pIniFile = NULL;
- pIniFile = new TIniFile(ConfigFileName);
- try
- {
- ApplicationName = pIniFile->ReadString("License", "ApplicationName", "");
- ApplicationVersion = pIniFile->ReadString("License", "ApplicationVersion", "");
- Domain = pIniFile->ReadString("License", "Domain", "");
- MipDataPath = pIniFile->ReadString("License", "MipDataPath", "");
- TenantId = pIniFile->ReadString("License", "TenantId", "");
- ClientId = pIniFile->ReadString("License", "ClientId", "");
- EMail = pIniFile->ReadString("License", "EMail", "");
- LoginType = pIniFile->ReadString("License", "LoginType", "1").ToIntDef(1);
- SecretValue = pIniFile->ReadString("License", "SecretValue", "");
- Thumbprint = pIniFile->ReadString("License", "Thumbprint", "");
- }
- __finally
- {
- if (pIniFile) delete pIniFile;
- pIniFile = NULL;
- }
- SecretValue = WinCrypt_Decrypt(SecretValue);
- EdAppName->Text = ApplicationName;
- EdAppVersion->Text = ApplicationVersion;
- EdDomain->Text = Domain;
- EdMipDataPath->Text = MipDataPath;
- EdTenantId->Text = TenantId;
- EdClientId->Text = ClientId;
- EdEmail->Text = EMail;
- CboLoginType->ItemIndex = LoginType-1;
- EdSecretValue->Text = SecretValue;
- EdThumbPrint->Text = Thumbprint;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmMain::SaveConfig()
- {
- TIniFile *pIniFile = NULL;
- pIniFile = new TIniFile(ConfigFileName);
- try
- {
- pIniFile->WriteString("License", "ApplicationName", ApplicationName);
- pIniFile->WriteString("License", "ApplicationVersion", ApplicationVersion);
- pIniFile->WriteString("License", "Domain", Domain);
- pIniFile->WriteString("License", "MipDataPath", MipDataPath);
- pIniFile->WriteString("License", "TenantId", TenantId);
- pIniFile->WriteString("License", "ClientId", ClientId);
- pIniFile->WriteString("License", "EMail", EMail);
- pIniFile->WriteString("License", "LoginType", String(LoginType+1));
- pIniFile->WriteString("License", "SecretValue", SecretValue);
- pIniFile->WriteString("License", "Thumbprint", Thumbprint);
- }
- __finally
- {
- if (pIniFile) delete pIniFile;
- pIniFile = NULL;
- }
- Application->NormalizeTopMosts();
- Application->MessageBox(L"AIP API 라이센스 정보를 저장하였습니다.\r\nAIP API Service 프로그램이 실행 중이면 프로그램을 재기동 하여야 설정 정보가 반영됩니다.",
- L"AIP API License File Save",
- MB_OK|MB_ICONINFORMATION);
- Application->RestoreTopMosts();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmMain::DataError(String AErrMsg)
- {
- Application->NormalizeTopMosts();
- Application->MessageBox(AErrMsg.c_str(), L"라이센스 데이터 입력 오류", MB_OK|MB_ICONERROR);
- Application->RestoreTopMosts();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmMain::BtnSaveClick(TObject *Sender)
- {
- ApplicationName = EdAppName->Text.Trim();
- ApplicationVersion = EdAppVersion->Text.Trim();
- Domain = EdDomain->Text.Trim();
- MipDataPath = EdMipDataPath->Text.Trim();
- TenantId = EdTenantId->Text.Trim();
- ClientId = EdClientId->Text.Trim();
- EMail = EdEmail->Text.Trim();
- LoginType = CboLoginType->ItemIndex;
- SecretValue = EdSecretValue->Text.Trim();
- Thumbprint = EdThumbPrint->Text.Trim();
- if (ApplicationName == "") {
- DataError("어플리케이션 이름을 입력하세요.");
- EdAppName->SetFocus();
- }
- if (ApplicationVersion == "") {
- DataError("어플리케이션 버전 정보를 입력하세요.");
- EdAppVersion->SetFocus();
- }
- if (Domain == "") {
- DataError("도메인을 입력하세요.");
- EdDomain->SetFocus();
- }
- if (MipDataPath == "") {
- DataError("MIP DATA 경로를 입력하세요.");
- EdMipDataPath->SetFocus();
- }
- if (TenantId == "") {
- DataError("TENANT ID를 입력하세요.");
- EdTenantId->SetFocus();
- }
- if (ClientId == "") {
- DataError("CLIENT ID를 입력하세요.");
- EdClientId->SetFocus();
- }
- if (EMail == "") {
- DataError("E-Mail 주소를 입력하세요.");
- EdEmail->SetFocus();
- }
- if (LoginType < 0) {
- DataError("Login Type을 선택하세요.");
- CboLoginType->SetFocus();
- }
- if (LoginType == 0) {
- if (SecretValue == "") {
- DataError("SecretValue 를 입력하세요.");
- EdSecretValue->SetFocus();
- }
- SecretValue = WinCrypt_Encrpyt(SecretValue);
- }
- else if (LoginType == 1) {
- if (Thumbprint == "") {
- DataError("Certificate's thumbprint 를 입력하세요.");
- EdThumbPrint->SetFocus();
- }
- }
- SaveConfig();
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmMain::CboLoginTypePropertiesChange(TObject *Sender)
- {
- if (CboLoginType->ItemIndex == 0) {
- LblHint->Caption = "Secret Value 값을 설정하세요.";
- }
- else if (CboLoginType->ItemIndex == 1) {
- LblHint->Caption = "Certificate's thumbprint 값을 설정하세요.";
- }
- else {
- LblHint->Caption = "Login Type 을 선택하세요.";
- }
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmMain::ChkViewClick(TObject *Sender)
- {
- EdSecretValue->Properties->PasswordChar = ChkView->Checked ? wchar_t("*") : wchar_t("#0");
- }
- //---------------------------------------------------------------------------
|