You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
383 lines
9.5 KiB
383 lines
9.5 KiB
/**********************************************************************/
|
|
/** Microsoft Windows/NT **/
|
|
/** Copyright(c) Microsoft Corporation, 1997 - 1999 **/
|
|
/**********************************************************************/
|
|
|
|
/*
|
|
repnodpp.h
|
|
Replication Node Property page
|
|
|
|
FILE HISTORY:
|
|
|
|
*/
|
|
|
|
#if !defined(AFX_REPNODPP_H__04D55B71_4E32_11D1_B9B0_00C04FBF914A__INCLUDED_)
|
|
#define AFX_REPNODPP_H__04D55B71_4E32_11D1_B9B0_00C04FBF914A__INCLUDED_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#ifndef _CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#ifndef _LISTVIEW_H
|
|
#include "listview.h"
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CRepNodePropGen dialog
|
|
|
|
class CRepNodePropGen : public CPropertyPageBase
|
|
{
|
|
DECLARE_DYNCREATE(CRepNodePropGen)
|
|
|
|
// Construction
|
|
public:
|
|
CRepNodePropGen();
|
|
~CRepNodePropGen();
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CRepNodePropGen)
|
|
enum { IDD = IDD_REP_NODE_GENERAL };
|
|
CButton m_checkPushwithPartners;
|
|
CButton m_checkMigrate;
|
|
BOOL m_fMigrate;
|
|
BOOL m_fPushwithPartners;
|
|
//}}AFX_DATA
|
|
|
|
UINT m_uImage;
|
|
|
|
// Overrides
|
|
// ClassWizard generate virtual function overrides
|
|
//{{AFX_VIRTUAL(CRepNodePropGen)
|
|
public:
|
|
virtual BOOL OnApply();
|
|
virtual void OnOK();
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CRepNodePropGen)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnCheckMigrate();
|
|
afx_msg void OnCheckRepWithPartners();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
private:
|
|
CConfiguration * m_pConfig;
|
|
|
|
void UpdateConfig();
|
|
HRESULT UpdateServerConfiguration();
|
|
|
|
HRESULT GetConfig();
|
|
|
|
public:
|
|
virtual DWORD * GetHelpMap() { return WinsGetHelpMap(CRepNodePropGen::IDD);};
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CRepNodePropPush dialog
|
|
|
|
class CRepNodePropPush : public CPropertyPageBase
|
|
{
|
|
DECLARE_DYNCREATE(CRepNodePropPush)
|
|
|
|
// Construction
|
|
public:
|
|
CRepNodePropPush();
|
|
~CRepNodePropPush();
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CRepNodePropPush)
|
|
enum { IDD = IDD_REP_NODE_PUSH };
|
|
CButton m_checkPushPersistence;
|
|
CSpinButtonCtrl m_spinUpdateCount;
|
|
CEdit m_editUpdateCount;
|
|
CButton m_checkPushStartup;
|
|
CButton m_checkRepOnAddrChange;
|
|
BOOL m_fRepOnAddrChange;
|
|
BOOL m_fPushStartup;
|
|
DWORD m_dwPushUpdateCount;
|
|
//}}AFX_DATA
|
|
|
|
// Overrides
|
|
// ClassWizard generate virtual function overrides
|
|
//{{AFX_VIRTUAL(CRepNodePropPush)
|
|
public:
|
|
virtual BOOL OnApply();
|
|
virtual void OnOK();
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CRepNodePropPush)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnCheckPushOnAddressChange();
|
|
afx_msg void OnCheckPushOnStartup();
|
|
afx_msg void OnCheckPushPersist();
|
|
afx_msg void OnChangeEditUpdateCount();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
private:
|
|
CConfiguration * m_pConfig;
|
|
|
|
void UpdateConfig();
|
|
HRESULT UpdateServerConfiguration();
|
|
|
|
HRESULT GetConfig();
|
|
CString ToString(int nNumber);
|
|
|
|
public:
|
|
virtual DWORD * GetHelpMap() { return WinsGetHelpMap(CRepNodePropPush::IDD);};
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CRepNodePropPull dialog
|
|
|
|
class CRepNodePropPull : public CPropertyPageBase
|
|
{
|
|
DECLARE_DYNCREATE(CRepNodePropPull)
|
|
|
|
// Construction
|
|
public:
|
|
CRepNodePropPull();
|
|
~CRepNodePropPull();
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CRepNodePropPull)
|
|
enum { IDD = IDD_REP_NODE_PULL };
|
|
CButton m_checkPullPersistence;
|
|
CSpinButtonCtrl m_spinStartSecond;
|
|
CSpinButtonCtrl m_spinStartMinute;
|
|
CSpinButtonCtrl m_spinStartHour;
|
|
CSpinButtonCtrl m_spinRetryCount;
|
|
CSpinButtonCtrl m_spinRepIntMinute;
|
|
CSpinButtonCtrl m_spinRepIntHour;
|
|
CSpinButtonCtrl m_spinRepIntDay;
|
|
CEdit m_editStartSecond;
|
|
CEdit m_editStartMinute;
|
|
CEdit m_editStartHour;
|
|
CEdit m_editRetryCount;
|
|
CEdit m_editRepIntMinute;
|
|
CEdit m_editRepIntHour;
|
|
CEdit m_editRepIntDay;
|
|
CButton m_checkpullTrigOnStartup;
|
|
BOOL m_fpullTrigOnStartup;
|
|
DWORD m_dwRetryCount;
|
|
int m_nPullStartHour;
|
|
int m_nPullStartMinute;
|
|
int m_nPullStartSecond;
|
|
int m_nRepliDay;
|
|
int m_nRepliHour;
|
|
int m_nRepliMinute;
|
|
//}}AFX_DATA
|
|
|
|
// Overrides
|
|
// ClassWizard generate virtual function overrides
|
|
//{{AFX_VIRTUAL(CRepNodePropPull)
|
|
public:
|
|
virtual BOOL OnApply();
|
|
virtual void OnOK();
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CRepNodePropPull)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnChangeEditRepIntHour();
|
|
afx_msg void OnCheckPullPersist();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
private:
|
|
CConfiguration * m_pConfig;
|
|
|
|
DWORD CalculatePullStartInt();
|
|
DWORD CalculateReplInt();
|
|
|
|
void UpdateConfig();
|
|
HRESULT UpdateServerConfiguration();
|
|
|
|
void SetPullStartTimeData(DWORD dwPullStartTime);
|
|
void SetPullTimeIntData(DWORD dwPullInternal);
|
|
|
|
HRESULT GetConfig();
|
|
CString ToString(int nNumber);
|
|
|
|
public:
|
|
virtual DWORD * GetHelpMap() { return WinsGetHelpMap(CRepNodePropPull::IDD);};
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CRepNodePropAdvanced dialog
|
|
#define PERSMODE_NON_GRATA 0
|
|
#define PERSMODE_GRATA 1
|
|
|
|
class CRepNodePropAdvanced : public CPropertyPageBase
|
|
{
|
|
DECLARE_DYNCREATE(CRepNodePropAdvanced)
|
|
|
|
// Construction
|
|
public:
|
|
CRepNodePropAdvanced();
|
|
~CRepNodePropAdvanced();
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(cRepNodePropAdvanced)
|
|
enum { IDD = IDD_REP_NODE_ADVANCED };
|
|
CButton m_buttonAdd;
|
|
CButton m_buttonRemove;
|
|
CButton m_checkPushPersistence;
|
|
CButton m_checkPullPersistence;
|
|
CListCtrl m_listOwners;
|
|
CStatic m_staticDesp;
|
|
CStatic m_staticMulticastTTL;
|
|
CStatic m_staticMulticastInt;
|
|
CSpinButtonCtrl m_spinMulticastTTL;
|
|
CSpinButtonCtrl m_spinMulticastSecond;
|
|
CSpinButtonCtrl m_spinMulticastMinute;
|
|
CSpinButtonCtrl m_spinMulticastHour;
|
|
CEdit m_editMulticastSecond;
|
|
CEdit m_editMulticastTTL;
|
|
CEdit m_editMulticastMinute;
|
|
CEdit m_editMulticastHour;
|
|
CButton m_checkenableAutoConfig;
|
|
BOOL m_fEnableAuto;
|
|
DWORD m_dwHours;
|
|
DWORD m_dwMinutes;
|
|
DWORD m_dwSeconds;
|
|
DWORD m_dwMulticastTTL;
|
|
//}}AFX_DATA
|
|
|
|
int HandleSort(LPARAM lParam1, LPARAM lParam2);
|
|
|
|
// Overrides
|
|
// ClassWizard generate virtual function overrides
|
|
//{{AFX_VIRTUAL(cRepNodePropAdvanced)
|
|
public:
|
|
virtual BOOL OnApply();
|
|
virtual void OnOK();
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
// Generated message map functions
|
|
//{{AFX_MSG(cRepNodePropAdvanced)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnCheckEnableAutoPartnerConfig();
|
|
afx_msg void OnChangeEditMulticastHour();
|
|
afx_msg void OnButtonAdd();
|
|
afx_msg void OnButtonRemove();
|
|
afx_msg void OnItemchangedListOwners(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnColumnclickListOwners(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnRadioGrata();
|
|
afx_msg void OnRadioNonGrata();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
int m_nSortColumn;
|
|
BOOL m_aSortOrder[COLUMN_MAX];
|
|
|
|
private:
|
|
CConfiguration* m_pConfig;
|
|
|
|
DWORD m_dwPersonaMode;
|
|
CStringArray m_strPersonaNonGrata;
|
|
CStringArray m_strPersonaGrata;
|
|
|
|
HRESULT GetConfig();
|
|
CString ToString(int nNumber);
|
|
|
|
void EnableControls(BOOL bEnable = TRUE);
|
|
void FillControls();
|
|
|
|
HRESULT UpdateServerConfiguration();
|
|
void UpdateConfig();
|
|
void InitializeControls();
|
|
void Sort(int nCol);
|
|
|
|
public:
|
|
virtual DWORD * GetHelpMap() { return WinsGetHelpMap(CRepNodePropAdvanced::IDD);};
|
|
|
|
BOOL IsDuplicate(CString &strServerName);
|
|
BOOL IsCurrentServer(CString &strServerName);
|
|
|
|
// for reading and writing the servers to the registry
|
|
DWORD ReadFromRegistry();
|
|
DWORD WriteToRegistry();
|
|
DWORD ResolveIPAddress(CString &strIP, CString &strServerName);
|
|
|
|
void FillServerInfo();
|
|
void GetServerName(CString &strServerName);
|
|
void RemoveFromArray(CString &strSel);
|
|
void SetRemoveButtonState();
|
|
|
|
CString m_strIPAddress;
|
|
CString m_strServerName;
|
|
|
|
typedef CString REGKEYNAME;
|
|
|
|
static const REGKEYNAME lpstrPartnersRoot;
|
|
};
|
|
|
|
|
|
class CRepNodeProperties : public CPropertyPageHolderBase
|
|
{
|
|
|
|
public:
|
|
CRepNodeProperties(ITFSNode * pNode,
|
|
IComponentData * pComponentData,
|
|
ITFSComponentData * pTFSCompData,
|
|
LPCTSTR pszSheetName
|
|
);
|
|
virtual ~CRepNodeProperties();
|
|
|
|
ITFSComponentData * GetTFSCompData()
|
|
{
|
|
if (m_spTFSCompData)
|
|
m_spTFSCompData->AddRef();
|
|
return m_spTFSCompData;
|
|
}
|
|
|
|
void SetConfig(CConfiguration * pConfig)
|
|
{
|
|
m_Config = *pConfig;
|
|
}
|
|
|
|
CConfiguration * GetConfig()
|
|
{
|
|
return &m_Config;
|
|
}
|
|
|
|
public:
|
|
CRepNodePropGen m_pageGeneral;
|
|
CRepNodePropPush m_pagePush;
|
|
CRepNodePropPull m_pagePull;
|
|
CRepNodePropAdvanced m_pageAdvanced;
|
|
CConfiguration m_Config;
|
|
|
|
protected:
|
|
SPITFSComponentData m_spTFSCompData;
|
|
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_REPNODPP_H__04D55B71_4E32_11D1_B9B0_00C04FBF914A__INCLUDED_)
|