1 // **************************************************************************************
2 // File: Krb4EditRealmHostList.cpp
3 // By: Arthur David Leather
5 // Copyright @1998 Massachusetts Institute of Technology - All rights reserved.
6 // Description: CPP file for Krb4EditRealmHostList.h. Contains variables and functions
7 // for Kerberos Four Properties
11 // MM/DD/YY Inits Description of Change
12 // 12/02/98 ADL Original
13 // **************************************************************************************
18 #include "Krb4Properties.h"
19 #include "Krb4EditRealmHostList.h"
25 static char THIS_FILE[] = __FILE__;
28 /////////////////////////////////////////////////////////////////////////////
29 // CKrb4EditRealmHostList dialog
31 CKrb4EditRealmHostList::CKrb4EditRealmHostList(LPSTR editItem, CWnd* pParent)
32 : CDialog(CKrb4EditRealmHostList::IDD, pParent)
38 // Parse the passed in item
39 LPSTR pEditItem = editItem;
40 LPSTR findSpace = strchr(editItem, ' ');
45 LeashErrorBox("This is a defective entry in file",
46 CKrb4ConfigFileLocation::m_krbFile);
48 m_initRealm = m_newRealm = editItem;
49 m_initHost = m_newHost = _T("");
52 m_initRealm = m_newRealm = editItem; // first token
54 pEditItem = strchr(editItem, '\0');
63 findSpace = strchr(pEditItem, ' ');
70 m_initAdmin = m_newAdmin = FALSE;
71 m_initHost = m_newHost = pEditItem; // second token
75 m_initHost = m_newHost = pEditItem; // second token
78 pEditItem = findSpace;
81 if (strstr(pEditItem, "admin server"))
82 m_initAdmin = m_newAdmin = TRUE;
84 //; It must be something else??? :(
89 //{{AFX_DATA_INIT(CKrb4EditRealmHostList)
90 // NOTE: the ClassWizard will add member initialization here
94 void CKrb4EditRealmHostList::DoDataExchange(CDataExchange* pDX)
96 CDialog::DoDataExchange(pDX);
97 //{{AFX_DATA_MAP(CKrb4EditRealmHostList)
98 // NOTE: the ClassWizard will add DDX and DDV calls here
103 BEGIN_MESSAGE_MAP(CKrb4EditRealmHostList, CDialog)
104 //{{AFX_MSG_MAP(CKrb4EditRealmHostList)
106 ON_EN_CHANGE(IDC_EDIT_DEFAULT_REALM, OnChangeEditDefaultRealm)
107 ON_EN_CHANGE(IDC_EDIT_REALM_HOSTNAME, OnChangeEditRealmHostname)
108 ON_BN_CLICKED(IDC_RADIO_ADMIN_SERVER, OnRadioAdminServer)
109 ON_BN_CLICKED(IDC_RADIO_NO_ADMIN_SERVER, OnRadioNoAdminServer)
113 /////////////////////////////////////////////////////////////////////////////
114 // CKrb4EditRealmHostList message handlers
116 BOOL CKrb4EditRealmHostList::OnInitDialog()
118 CDialog::OnInitDialog();
120 SetDlgItemText(IDC_EDIT_DEFAULT_REALM, m_newRealm);
121 SetDlgItemText(IDC_EDIT_REALM_HOSTNAME, m_newHost);
124 { // has Admin Server
125 CheckRadioButton(IDC_RADIO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER, IDC_RADIO_ADMIN_SERVER);
129 CheckRadioButton(IDC_RADIO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER, IDC_RADIO_NO_ADMIN_SERVER);
132 //GetDlgItem(IDC_EDIT_DEFAULT_REALM)->EnableWindow();
133 //GetDlgItem(IDC_EDIT_DEFAULT_REALM)->SetFocus();
138 void CKrb4EditRealmHostList::OnShowWindow(BOOL bShow, UINT nStatus)
140 CDialog::OnShowWindow(bShow, nStatus);
144 void CKrb4EditRealmHostList::OnChangeEditDefaultRealm()
147 GetDlgItemText(IDC_EDIT_DEFAULT_REALM, m_newRealm);
150 void CKrb4EditRealmHostList::OnChangeEditRealmHostname()
153 GetDlgItemText(IDC_EDIT_REALM_HOSTNAME, m_newHost);
156 void CKrb4EditRealmHostList::OnRadioAdminServer()
161 void CKrb4EditRealmHostList::OnRadioNoAdminServer()
166 void CKrb4EditRealmHostList::OnOK()
168 m_newRealm.TrimLeft();
169 m_newRealm.TrimRight();
170 m_newHost.TrimLeft();
171 m_newHost.TrimRight();
173 if (m_newRealm.IsEmpty() || m_newHost.IsEmpty())
175 MessageBox("OnOK::Both Realm and Host fields must be filled in!",
178 else if (-1 != m_newRealm.Find(' ') || -1 != m_newHost.Find(' '))
180 MessageBox("OnOK::Illegal space found!", "Leash", MB_OK);
184 CDialog::OnOK(); // exit
186 m_editItem = m_newRealm + " " + m_newHost;
191 m_editItem += ADMIN_SERVER;