//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1997 - 1999 // // File: pglog.cpp // //-------------------------------------------------------------------------- // logging.cpp : implementation file // #include "stdafx.h" #include "acsadmin.h" #include "pglog.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPgAccounting property page IMPLEMENT_DYNCREATE(CPgAccounting, CACSPage) CPgAccounting::CPgAccounting(CACSSubnetConfig* pConfig) : CACSPage(CPgAccounting::IDD) { ASSERT(pConfig); m_spConfig = pConfig; DataInit(); } void CPgAccounting::DataInit() { //{{AFX_DATA_INIT(CPgAccounting) m_bEnableAccounting = ACS_SCADEF_ENABLERSVPMESSAGEACCOUNTING; m_strLogDir = ACS_SCADEF_RSVPACCOUNTINGFILESLOCATION; m_dwNumFiles = ACS_SCADEF_MAXNOOFACCOUNTINGFILES; m_dwLogSize = ACS_SCADEF_MAXSIZEOFRSVPACCOUNTINGFILE; //}}AFX_DATA_INIT } CPgAccounting::CPgAccounting() : CACSPage(CPgAccounting::IDD) { DataInit(); } CPgAccounting::~CPgAccounting() { } void CPgAccounting::DoDataExchange(CDataExchange* pDX) { CACSPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPgAccounting) DDX_Check(pDX, IDC_CHECK_ENABLEACCOUNTING, m_bEnableAccounting); DDX_Text(pDX, IDC_EDIT_ACC_DIRECTORY, m_strLogDir); DDV_MaxChars(pDX, m_strLogDir, ACS_SCAV_MAX_LOGFILESLOCATION); DDX_Text(pDX, IDC_EDIT_ACC_LOGFILES, m_dwNumFiles); DDV_MinMaxDWord(pDX, m_dwNumFiles, 1, DWORD_LIMIT); DDX_Text(pDX, IDC_EDIT_ACC_MAXFILESIZE, m_dwLogSize); DDV_MinMaxDWord(pDX, m_dwLogSize, 1, TOMB(DWORD_LIMIT)); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPgAccounting, CACSPage) //{{AFX_MSG_MAP(CPgAccounting) ON_BN_CLICKED(IDC_CHECK_ENABLEACCOUNTING, OnCheckEnableAccounting) ON_EN_CHANGE(IDC_EDIT_ACC_DIRECTORY, OnChangeEditLogDirectory) ON_EN_CHANGE(IDC_EDIT_ACC_LOGFILES, OnChangeEditLogLogfiles) ON_EN_CHANGE(IDC_EDIT_ACC_MAXFILESIZE, OnChangeEditLogMaxfilesize) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPgAccounting message handlers BOOL CPgAccounting::OnApply() { USES_CONVERSION; // Enable Logging m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_ENABLERSVPMESSAGEACCOUNTING, true); m_spConfig->m_bENABLERSVPMESSAGEACCOUNTING = m_bEnableAccounting; // logging directory m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_RSVPACCOUNTINGFILESLOCATION, true); m_spConfig->m_strRSVPACCOUNTINGFILESLOCATION = m_strLogDir; // number of log files m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_MAXNOOFACCOUNTINGFILES, true); m_spConfig->m_dwMAXNOOFACCOUNTINGFILES = m_dwNumFiles; // max file size m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_MAXSIZEOFRSVPACCOUNTINGFILE, true); m_spConfig->m_dwMAXSIZEOFRSVPACCOUNTINGFILE = FROMMB(m_dwLogSize); DWORD dwAttrFlags = ATTR_FLAGS_NONE; dwAttrFlags |= (ACS_SCAF_ENABLERSVPMESSAGEACCOUNTING | ACS_SCAF_RSVPACCOUNTINGFILESLOCATION); dwAttrFlags |= (ACS_SCAF_MAXNOOFACCOUNTINGFILES | ACS_SCAF_MAXSIZEOFRSVPACCOUNTINGFILE); AddFlags(dwAttrFlags); // prepare flags for saving return CACSPage::OnApply(); } void CPgAccounting::OnCheckEnableAccounting() { SetModified(); EnableEverything(); // TODO: Add your control notification handler code here } void CPgAccounting::OnChangeEditLogDirectory() { SetModified(); // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CACSPage::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask. // TODO: Add your control notification handler code here } void CPgAccounting::OnChangeEditLogLogfiles() { SetModified(); // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CACSPage::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask. // TODO: Add your control notification handler code here } void CPgAccounting::OnChangeEditLogMaxfilesize() { SetModified(); // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CACSPage::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask. // TODO: Add your control notification handler code here } BOOL CPgAccounting::OnInitDialog() { // Enable Logging if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_ENABLERSVPMESSAGEACCOUNTING)) m_bEnableAccounting = (m_spConfig->m_bENABLERSVPMESSAGEACCOUNTING != 0); // logging directory if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_RSVPACCOUNTINGFILESLOCATION)) m_strLogDir = m_spConfig->m_strRSVPACCOUNTINGFILESLOCATION; // number of log files if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_MAXNOOFACCOUNTINGFILES)) { m_dwNumFiles = m_spConfig->m_dwMAXNOOFACCOUNTINGFILES; } // max file size if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_MAXSIZEOFRSVPACCOUNTINGFILE)) { m_dwLogSize = TOMB(m_spConfig->m_dwMAXSIZEOFRSVPACCOUNTINGFILE); } CACSPage::OnInitDialog(); EnableEverything(); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CPgAccounting::EnableEverything() { CButton* pButton = (CButton*)GetDlgItem(IDC_CHECK_ENABLEACCOUNTING); int nCheck = pButton->GetCheck(); GetDlgItem(IDC_EDIT_ACC_DIRECTORY)->EnableWindow(nCheck); GetDlgItem(IDC_EDIT_ACC_LOGFILES)->EnableWindow(nCheck); GetDlgItem(IDC_EDIT_ACC_MAXFILESIZE)->EnableWindow(nCheck); } ///////////////////////////////////////////////////////////////////////////// // CPgLogging property page IMPLEMENT_DYNCREATE(CPgLogging, CACSPage) CPgLogging::CPgLogging(CACSSubnetConfig* pConfig) : CACSPage(CPgLogging::IDD) { ASSERT(pConfig); m_spConfig = pConfig; DataInit(); } void CPgLogging::DataInit() { //{{AFX_DATA_INIT(CPgLogging) m_bEnableLogging = ACS_SCADEF_ENABLERSVPMESSAGELOGGING; m_dwLevel = ACS_SCADEF_EVENTLOGLEVEL; m_strLogDir = ACS_SCADEF_RSVPLOGFILESLOCATION; m_dwNumFiles = ACS_SCADEF_MAXNOOFLOGFILES; m_dwLogSize = ACS_SCADEF_MAXSIZEOFRSVPLOGFILE; //}}AFX_DATA_INIT m_pLevel = NULL; } CPgLogging::CPgLogging() : CACSPage(CPgLogging::IDD) { DataInit(); } CPgLogging::~CPgLogging() { delete m_pLevel; m_aLevelStrings.DeleteAll(); } void CPgLogging::DoDataExchange(CDataExchange* pDX) { CACSPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPgLogging) DDX_Check(pDX, IDC_CHECK_ENABLELOGGIN, m_bEnableLogging); DDX_CBIndex(pDX, IDC_COMBOLEVEL, m_dwLevel); DDX_Text(pDX, IDC_EDIT_LOG_DIRECTORY, m_strLogDir); DDV_MaxChars(pDX, m_strLogDir, ACS_SCAV_MAX_LOGFILESLOCATION); DDX_Text(pDX, IDC_EDIT_LOG_LOGFILES, m_dwNumFiles); DDV_MinMaxDWord(pDX, m_dwNumFiles, 1, DWORD_LIMIT); DDX_Text(pDX, IDC_EDIT_LOG_MAXFILESIZE, m_dwLogSize); DDV_MinMaxDWord(pDX, m_dwLogSize, 1, TOMB(DWORD_LIMIT)); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPgLogging, CACSPage) //{{AFX_MSG_MAP(CPgLogging) ON_BN_CLICKED(IDC_CHECK_ENABLELOGGIN, OnCheckEnableloggin) ON_CBN_SELCHANGE(IDC_COMBOLEVEL, OnSelchangeCombolevel) ON_EN_CHANGE(IDC_EDIT_LOG_DIRECTORY, OnChangeEditLogDirectory) ON_EN_CHANGE(IDC_EDIT_LOG_LOGFILES, OnChangeEditLogLogfiles) ON_EN_CHANGE(IDC_EDIT_LOG_MAXFILESIZE, OnChangeEditLogMaxfilesize) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPgLogging message handlers BOOL CPgLogging::OnApply() { USES_CONVERSION; // Enable Logging m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_ENABLERSVPMESSAGELOGGING, true); m_spConfig->m_bENABLERSVPMESSAGELOGGING = m_bEnableLogging; // logging directory m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_RSVPLOGFILESLOCATION, true); m_spConfig->m_strRSVPLOGFILESLOCATION = m_strLogDir; // number of log files m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_MAXNOOFLOGFILES, true); m_spConfig->m_dwMAXNOOFLOGFILES = m_dwNumFiles; // max file size m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_MAXSIZEOFRSVPLOGFILE, true); m_spConfig->m_dwMAXSIZEOFRSVPLOGFILE = FROMMB(m_dwLogSize); // logging level m_spConfig->SetFlags(ATTR_FLAG_SAVE, ACS_SCAF_EVENTLOGLEVEL, true); m_spConfig->m_dwEVENTLOGLEVEL = m_dwLevel; DWORD dwAttrFlags = ATTR_FLAGS_NONE; dwAttrFlags |= (ACS_SCAF_ENABLERSVPMESSAGELOGGING | ACS_SCAF_RSVPLOGFILESLOCATION); dwAttrFlags |= (ACS_SCAF_MAXNOOFLOGFILES | ACS_SCAF_MAXSIZEOFRSVPLOGFILE | ACS_SCAF_EVENTLOGLEVEL); AddFlags(dwAttrFlags); // prepare flags for saving return CACSPage::OnApply(); } void CPgLogging::OnCheckEnableloggin() { SetModified(); EnableEverything(); // TODO: Add your control notification handler code here } void CPgLogging::OnSelchangeCombolevel() { // TODO: Add your control notification handler code here SetModified(); } void CPgLogging::OnChangeEditLogDirectory() { SetModified(); // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CACSPage::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask. // TODO: Add your control notification handler code here } void CPgLogging::OnChangeEditLogLogfiles() { SetModified(); // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CACSPage::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask. // TODO: Add your control notification handler code here } void CPgLogging::OnChangeEditLogMaxfilesize() { SetModified(); // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CACSPage::OnInitDialog() // function to send the EM_SETEVENTMASK message to the control // with the ENM_CHANGE flag ORed into the lParam mask. // TODO: Add your control notification handler code here } BOOL CPgLogging::OnInitDialog() { // Enable Logging if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_ENABLERSVPMESSAGELOGGING)) m_bEnableLogging = (m_spConfig->m_bENABLERSVPMESSAGELOGGING != 0); // logging directory if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_RSVPLOGFILESLOCATION)) m_strLogDir = m_spConfig->m_strRSVPLOGFILESLOCATION; // number of log files if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_MAXNOOFLOGFILES)) { m_dwNumFiles = m_spConfig->m_dwMAXNOOFLOGFILES; } // max file size if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_MAXSIZEOFRSVPLOGFILE)) { m_dwLogSize = TOMB(m_spConfig->m_dwMAXSIZEOFRSVPLOGFILE); } // logging level if(m_spConfig->GetFlags(ATTR_FLAG_LOAD, ACS_SCAF_EVENTLOGLEVEL)) { m_dwLevel = m_spConfig->m_dwEVENTLOGLEVEL; } CString* pStr = NULL; // direction // fillin the list box try{ pStr = new CString(); pStr->LoadString(IDS_LOGLEVEL_0); m_aLevelStrings.Add(pStr); pStr = new CString(); pStr->LoadString(IDS_LOGLEVEL_1); m_aLevelStrings.Add(pStr); pStr = new CString(); pStr->LoadString(IDS_LOGLEVEL_2); m_aLevelStrings.Add(pStr); /* 366523 1 I0706 rajeshm a-leeb ACS: Snap in should list 3 event levels rather than four pStr = new CString(); pStr->LoadString(IDS_LOGLEVEL_3); m_aLevelStrings.Add(pStr); */ m_pLevel = new CStrBox(this, IDC_COMBOLEVEL, m_aLevelStrings); m_pLevel->Fill(); m_pLevel->Select(m_dwLevel); }catch(CMemoryException&){}; CACSPage::OnInitDialog(); EnableEverything(); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CPgLogging::EnableEverything() { CButton* pButton = (CButton*)GetDlgItem(IDC_CHECK_ENABLELOGGIN); int nCheck = pButton->GetCheck(); GetDlgItem(IDC_EDIT_LOG_DIRECTORY)->EnableWindow(nCheck); GetDlgItem(IDC_EDIT_LOG_LOGFILES)->EnableWindow(nCheck); GetDlgItem(IDC_EDIT_LOG_MAXFILESIZE)->EnableWindow(nCheck); GetDlgItem(IDC_COMBOLEVEL)->EnableWindow(TRUE); }