311 lines
5.7 KiB
C++
311 lines
5.7 KiB
C++
/*++
|
|
|
|
Copyright (c) 1994-1998 Microsoft Corporation
|
|
|
|
Module Name :
|
|
|
|
mmmdlg.h
|
|
|
|
Abstract:
|
|
|
|
Multi-multi-multi dialog editor definitions
|
|
|
|
Author:
|
|
|
|
Ronald Meijer (ronaldm)
|
|
|
|
Project:
|
|
|
|
Internet Services Manager
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef __MMMDLG_H__
|
|
#define __MMMDLG_H__
|
|
|
|
|
|
//
|
|
// UINT DDX/DDV helper function that uses a blank string to denote 0
|
|
//
|
|
void AFXAPI DDXV_UINT(
|
|
IN CDataExchange * pDX,
|
|
IN UINT nID,
|
|
IN OUT UINT & uValue,
|
|
IN UINT uMin,
|
|
IN UINT uMax,
|
|
IN UINT nEmptyErrorMsg = 0
|
|
);
|
|
|
|
//
|
|
// Helper function to check to see if binding is unique
|
|
//
|
|
BOOL
|
|
IsBindingUnique(
|
|
IN CString & strBinding,
|
|
IN CStringList & strlBindings,
|
|
IN int iCurrent = -1
|
|
);
|
|
|
|
/*
|
|
//
|
|
// Helper function to build and verify binding strings.
|
|
//
|
|
BOOL
|
|
VerifyBindingInfo(
|
|
OUT CString & strBinding,
|
|
OUT CString & strSecureBinding,
|
|
IN CStringList & strlBindings,
|
|
IN CStringList & strlSecureBindings,
|
|
IN int iBindings,
|
|
IN int iSSLBindings,
|
|
IN CIPAddress & iaIpAddress,
|
|
IN UINT nTCPPort,
|
|
IN UINT nSSLPort,
|
|
IN CString & strDomainName
|
|
);
|
|
*/
|
|
|
|
|
|
class CMMMListBox : public CHeaderListBox
|
|
{
|
|
/*++
|
|
|
|
Class Description:
|
|
|
|
Multi-multi-multi listbox.
|
|
|
|
Public Interface:
|
|
|
|
CMMMListBox : Constructor
|
|
|
|
GetItem : Get item at specified position
|
|
in the listbox
|
|
AddItem : Add new item to the listbox
|
|
Initialize : Initialize the listbox
|
|
|
|
--*/
|
|
DECLARE_DYNAMIC(CMMMListBox);
|
|
|
|
public:
|
|
//
|
|
// Number of bitmaps
|
|
//
|
|
static const nBitmaps;
|
|
|
|
public:
|
|
CMMMListBox(
|
|
IN LPCTSTR lpszRegKey,
|
|
IN int cColumns,
|
|
IN const ODL_COLUMN_DEF * pColumns
|
|
);
|
|
|
|
public:
|
|
CString & GetItem(UINT nIndex);
|
|
int AddItem(CString & item);
|
|
virtual BOOL Initialize();
|
|
|
|
protected:
|
|
virtual void DrawItemEx(CRMCListBoxDrawStruct & ds);
|
|
|
|
protected:
|
|
int m_cColumns;
|
|
const ODL_COLUMN_DEF * m_pColumns;
|
|
CString m_strDefaultIP;
|
|
CString m_strNoPort;
|
|
};
|
|
|
|
|
|
|
|
class CMMMEditDlg : public CDialog
|
|
/*++
|
|
|
|
Class Description:
|
|
|
|
Multi-Multi-Multi edit entry dialog
|
|
|
|
Public Interface:
|
|
|
|
CMMMEditDlg : Constructor
|
|
|
|
--*/
|
|
{
|
|
//
|
|
// Construction
|
|
//
|
|
public:
|
|
CMMMEditDlg(
|
|
IN CString & strServerName,
|
|
IN OUT CStringList & strlBindings,
|
|
IN CStringList & strlOtherBindings,
|
|
IN OUT CString & strEntry,
|
|
IN BOOL fIPBinding = TRUE,
|
|
IN CWnd * pParent = NULL
|
|
);
|
|
|
|
//
|
|
// Dialog Data
|
|
//
|
|
protected:
|
|
//{{AFX_DATA(CMMMEditDlg)
|
|
enum { IDD = IDD_EDIT_MMM };
|
|
int m_nIpAddressSel;
|
|
UINT m_nPort;
|
|
CString m_strDomainName;
|
|
CStatic m_static_Port;
|
|
CComboBox m_combo_IpAddresses;
|
|
//}}AFX_DATA
|
|
|
|
CIPAddress m_iaIpAddress;
|
|
|
|
//
|
|
// Overrides
|
|
//
|
|
protected:
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CMMMEditDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX);
|
|
//}}AFX_VIRTUAL
|
|
|
|
//
|
|
// Implementation
|
|
//
|
|
protected:
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CMMMEditDlg)
|
|
virtual BOOL OnInitDialog();
|
|
virtual void OnOK();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
private:
|
|
BOOL m_fIPBinding;
|
|
CString & m_strServerName;
|
|
CString & m_entry;
|
|
CObListPlus m_oblIpAddresses;
|
|
CStringList & m_strlBindings;
|
|
CStringList & m_strlOtherBindings;
|
|
};
|
|
|
|
|
|
|
|
class CMMMDlg : public CDialog
|
|
/*++
|
|
|
|
Class Description:
|
|
|
|
Mutlti-multi-multi dialog
|
|
|
|
Public Interface:
|
|
|
|
CMMMDlg : Constructor
|
|
|
|
--*/
|
|
{
|
|
//
|
|
// Construction
|
|
//
|
|
public:
|
|
CMMMDlg(
|
|
IN LPCTSTR lpServerName,
|
|
IN DWORD dwInstance,
|
|
IN CComAuthInfo * pAuthInfo,
|
|
IN LPCTSTR lpMetaPath,
|
|
IN CStringList & strlBindings,
|
|
IN CStringList & strlSecureBindings,
|
|
IN CWnd * pParent = NULL
|
|
);
|
|
|
|
//
|
|
// Access
|
|
//
|
|
public:
|
|
CStringList & GetBindings() { return m_strlBindings; }
|
|
CStringList & GetSecureBindings() { return m_strlSecureBindings; }
|
|
|
|
//
|
|
// Dialog Data
|
|
//
|
|
protected:
|
|
//{{AFX_DATA(CMMMDlg)
|
|
enum { IDD = IDD_MMM };
|
|
CButton m_button_Add;
|
|
CButton m_button_Remove;
|
|
CButton m_button_Edit;
|
|
CButton m_button_AddSSL;
|
|
CButton m_button_RemoveSSL;
|
|
CButton m_button_EditSSL;
|
|
CButton m_button_OK;
|
|
//}}AFX_DATA
|
|
|
|
CMMMListBox m_list_Bindings;
|
|
CMMMListBox m_list_SSLBindings;
|
|
|
|
CStringList m_strlBindings;
|
|
CStringList m_strlSecureBindings;
|
|
|
|
//
|
|
// Overrides
|
|
//
|
|
protected:
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CMMMDlg)
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange * pDX);
|
|
//}}AFX_VIRTUAL
|
|
|
|
//
|
|
// Implementation
|
|
//
|
|
protected:
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CMMMDlg)
|
|
afx_msg void OnButtonAdd();
|
|
afx_msg void OnButtonEdit();
|
|
afx_msg void OnButtonRemove();
|
|
afx_msg void OnButtonAddSsl();
|
|
afx_msg void OnButtonEditSsl();
|
|
afx_msg void OnButtonRemoveSsl();
|
|
afx_msg void OnDblclkListMmm();
|
|
afx_msg void OnDblclkListSslMmm();
|
|
afx_msg void OnSelchangeListMmm();
|
|
afx_msg void OnSelchangeListSslMmm();
|
|
virtual BOOL OnInitDialog();
|
|
//}}AFX_MSG
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
BOOL OnItemChanged();
|
|
BOOL SetControlStates();
|
|
void AddBindings(CMMMListBox & list, CStringList & strl);
|
|
|
|
private:
|
|
BOOL m_fDirty;
|
|
BOOL m_fCertInstalled;
|
|
CString m_strServerName;
|
|
CComAuthInfo * m_pAuthInfo;
|
|
CString m_strMetaPath;
|
|
CRMCListBoxResources m_ListBoxRes;
|
|
};
|
|
|
|
|
|
|
|
//
|
|
// Inline Expansion
|
|
//
|
|
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
|
|
|
inline CString & CMMMListBox::GetItem(UINT nIndex)
|
|
{
|
|
return *(CString *)GetItemDataPtr(nIndex);
|
|
}
|
|
|
|
inline int CMMMListBox::AddItem(CString & item)
|
|
{
|
|
return AddString((LPCTSTR)&item);
|
|
}
|
|
|
|
#endif // __MMMDLG_H__
|