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;