-rw-r--r-- | LogPattern.cpp | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/LogPattern.cpp b/LogPattern.cpp new file mode 100644 index 0000000..649fe52 --- a/dev/null +++ b/LogPattern.cpp | |||
@@ -0,0 +1,157 @@ | |||
1 | // LogPattern.cpp : implementation file | ||
2 | // | ||
3 | |||
4 | #include "stdafx.h" | ||
5 | #include "KLog.h" | ||
6 | #include "SyslogSocket.h" | ||
7 | #include "LogPattern.h" | ||
8 | |||
9 | #include "LogPatternUnix.h" | ||
10 | #include "LogPatternReserved.h" | ||
11 | #include "LogPatternLocal.h" | ||
12 | |||
13 | #ifdef _DEBUG | ||
14 | #define new DEBUG_NEW | ||
15 | #undef THIS_FILE | ||
16 | static char THIS_FILE[] = __FILE__; | ||
17 | #endif | ||
18 | |||
19 | ///////////////////////////////////////////////////////////////////////////// | ||
20 | // CLogPattern | ||
21 | |||
22 | UINT CLogPattern::m_ID[CSyslogSocket::totalFacilities][CSyslogSocket::totalPriorities] = { | ||
23 | // Unix | ||
24 | { IDC_KERNEL_EMERG,IDC_KERNEL_ALERT,IDC_KERNEL_CRIT,IDC_KERNEL_ERR,IDC_KERNEL_WARN,IDC_KERNEL_NOTICE,IDC_KERNEL_INFO,IDC_KERNEL_DEBUG }, | ||
25 | { IDC_USER_EMERG,IDC_USER_ALERT,IDC_USER_CRIT,IDC_USER_ERR,IDC_USER_WARN,IDC_USER_NOTICE,IDC_USER_INFO,IDC_USER_DEBUG }, | ||
26 | { IDC_MAIL_EMERG,IDC_MAIL_ALERT,IDC_MAIL_CRIT,IDC_MAIL_ERR,IDC_MAIL_WARN,IDC_MAIL_NOTICE,IDC_MAIL_INFO,IDC_MAIL_DEBUG }, | ||
27 | { IDC_DAEMON_EMERG,IDC_DAEMON_ALERT,IDC_DAEMON_CRIT,IDC_DAEMON_ERR,IDC_DAEMON_WARN,IDC_DAEMON_NOTICE,IDC_DAEMON_INFO,IDC_DAEMON_DEBUG }, | ||
28 | { IDC_AUTH_EMERG,IDC_AUTH_ALERT,IDC_AUTH_CRIT,IDC_AUTH_ERR,IDC_AUTH_WARN,IDC_AUTH_NOTICE,IDC_AUTH_INFO,IDC_AUTH_DEBUG }, | ||
29 | { IDC_SYSLOG_EMERG,IDC_SYSLOG_ALERT,IDC_SYSLOG_CRIT,IDC_SYSLOG_ERR,IDC_SYSLOG_WARN,IDC_SYSLOG_NOTICE,IDC_SYSLOG_INFO,IDC_SYSLOG_DEBUG }, | ||
30 | { IDC_LPR_EMERG,IDC_LPR_ALERT,IDC_LPR_CRIT,IDC_LPR_ERR,IDC_LPR_WARN,IDC_LPR_NOTICE,IDC_LPR_INFO,IDC_LPR_DEBUG }, | ||
31 | { IDC_NEWS_EMERG,IDC_NEWS_ALERT,IDC_NEWS_CRIT,IDC_NEWS_ERR,IDC_NEWS_WARN,IDC_NEWS_NOTICE,IDC_NEWS_INFO,IDC_NEWS_DEBUG }, | ||
32 | { IDC_UUCP_EMERG,IDC_UUCP_ALERT,IDC_UUCP_CRIT,IDC_UUCP_ERR,IDC_UUCP_WARN,IDC_UUCP_NOTICE,IDC_UUCP_INFO,IDC_UUCP_DEBUG }, | ||
33 | { IDC_CRON_EMERG,IDC_CRON_ALERT,IDC_CRON_CRIT,IDC_CRON_ERR,IDC_CRON_WARN,IDC_CRON_NOTICE,IDC_CRON_INFO,IDC_CRON_DEBUG }, | ||
34 | { IDC_AUTHPRIV_EMERG,IDC_AUTHPRIV_ALERT,IDC_AUTHPRIV_CRIT,IDC_AUTHPRIV_ERR,IDC_AUTHPRIV_WARN,IDC_AUTHPRIV_NOTICE,IDC_AUTHPRIV_INFO,IDC_AUTHPRIV_DEBUG }, | ||
35 | // Reserved | ||
36 | { IDC_R0_EMERG,IDC_R0_ALERT,IDC_R0_CRIT,IDC_R0_ERR,IDC_R0_WARN,IDC_R0_NOTICE,IDC_R0_INFO,IDC_R0_DEBUG }, | ||
37 | { IDC_R1_EMERG,IDC_R1_ALERT,IDC_R1_CRIT,IDC_R1_ERR,IDC_R1_WARN,IDC_R1_NOTICE,IDC_R1_INFO,IDC_R1_DEBUG }, | ||
38 | { IDC_R2_EMERG,IDC_R2_ALERT,IDC_R2_CRIT,IDC_R2_ERR,IDC_R2_WARN,IDC_R2_NOTICE,IDC_R2_INFO,IDC_R2_DEBUG }, | ||
39 | { IDC_R3_EMERG,IDC_R3_ALERT,IDC_R3_CRIT,IDC_R3_ERR,IDC_R3_WARN,IDC_R3_NOTICE,IDC_R3_INFO,IDC_R3_DEBUG }, | ||
40 | { IDC_R4_EMERG,IDC_R4_ALERT,IDC_R4_CRIT,IDC_R4_ERR,IDC_R4_WARN,IDC_R4_NOTICE,IDC_R4_INFO,IDC_R4_DEBUG }, | ||
41 | // Local | ||
42 | { IDC_L0_EMERG,IDC_L0_ALERT,IDC_L0_CRIT,IDC_L0_ERR,IDC_L0_WARN,IDC_L0_NOTICE,IDC_L0_INFO,IDC_L0_DEBUG }, | ||
43 | { IDC_L1_EMERG,IDC_L1_ALERT,IDC_L1_CRIT,IDC_L1_ERR,IDC_L1_WARN,IDC_L1_NOTICE,IDC_L1_INFO,IDC_L1_DEBUG }, | ||
44 | { IDC_L2_EMERG,IDC_L2_ALERT,IDC_L2_CRIT,IDC_L2_ERR,IDC_L2_WARN,IDC_L2_NOTICE,IDC_L2_INFO,IDC_L2_DEBUG }, | ||
45 | { IDC_L3_EMERG,IDC_L3_ALERT,IDC_L3_CRIT,IDC_L3_ERR,IDC_L3_WARN,IDC_L3_NOTICE,IDC_L3_INFO,IDC_L3_DEBUG }, | ||
46 | { IDC_L4_EMERG,IDC_L4_ALERT,IDC_L4_CRIT,IDC_L4_ERR,IDC_L4_WARN,IDC_L4_NOTICE,IDC_L4_INFO,IDC_L4_DEBUG }, | ||
47 | { IDC_L5_EMERG,IDC_L5_ALERT,IDC_L5_CRIT,IDC_L5_ERR,IDC_L5_WARN,IDC_L5_NOTICE,IDC_L5_INFO,IDC_L5_DEBUG }, | ||
48 | { IDC_L6_EMERG,IDC_L6_ALERT,IDC_L6_CRIT,IDC_L6_ERR,IDC_L6_WARN,IDC_L6_NOTICE,IDC_L6_INFO,IDC_L6_DEBUG }, | ||
49 | { IDC_L7_EMERG,IDC_L7_ALERT,IDC_L7_CRIT,IDC_L7_ERR,IDC_L7_WARN,IDC_L7_NOTICE,IDC_L7_INFO,IDC_L7_DEBUG } | ||
50 | }; | ||
51 | |||
52 | IMPLEMENT_DYNAMIC(CLogPattern, CPropertySheet) | ||
53 | |||
54 | CLogPattern::CLogPattern(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage) | ||
55 | :CPropertySheet(nIDCaption, pParentWnd, iSelectPage) | ||
56 | { | ||
57 | AddPages(); | ||
58 | } | ||
59 | |||
60 | CLogPattern::CLogPattern(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage) | ||
61 | :CPropertySheet(pszCaption, pParentWnd, iSelectPage) | ||
62 | { | ||
63 | AddPages(); | ||
64 | } | ||
65 | |||
66 | CLogPattern::~CLogPattern() | ||
67 | { | ||
68 | delete m_Unix; | ||
69 | delete m_Reserved; | ||
70 | delete m_Local; | ||
71 | } | ||
72 | |||
73 | |||
74 | BEGIN_MESSAGE_MAP(CLogPattern, CPropertySheet) | ||
75 | //{{AFX_MSG_MAP(CLogPattern) | ||
76 | //}}AFX_MSG_MAP | ||
77 | END_MESSAGE_MAP() | ||
78 | |||
79 | ///////////////////////////////////////////////////////////////////////////// | ||
80 | // CLogPattern message handlers | ||
81 | |||
82 | void CLogPattern::AddPages() | ||
83 | { | ||
84 | m_Unix = new CLogPatternUnix(this); | ||
85 | ASSERT(m_Unix); | ||
86 | AddPage(m_Unix); | ||
87 | m_Reserved = new CLogPatternReserved(this); | ||
88 | ASSERT(m_Reserved); | ||
89 | AddPage(m_Reserved); | ||
90 | m_Local = new CLogPatternLocal(this); | ||
91 | ASSERT(m_Local); | ||
92 | AddPage(m_Local); | ||
93 | } | ||
94 | |||
95 | void CLogPattern::ExchangeData(CDataExchange *pDX,UINT from,UINT to) | ||
96 | { | ||
97 | if(pDX->m_bSaveAndValidate){ | ||
98 | for(UINT f=from;f<=to;f++){ | ||
99 | for(UINT p=0;p<CSyslogSocket::totalPriorities;p++){ | ||
100 | switch(pDX->m_pDlgWnd->IsDlgButtonChecked(m_ID[f][p])){ | ||
101 | case 0: | ||
102 | m_Pattern[f][p]=FALSE; | ||
103 | break; | ||
104 | case 1: | ||
105 | m_Pattern[f][p]=TRUE; | ||
106 | break; | ||
107 | #ifndefNDEBUG | ||
108 | default: | ||
109 | ASSERT(FALSE); | ||
110 | break; | ||
111 | #endif | ||
112 | } | ||
113 | } | ||
114 | } | ||
115 | }else{ | ||
116 | for(UINT f=from;f<=to;f++){ | ||
117 | for(UINT p=0;p<CSyslogSocket::totalPriorities;p++){ | ||
118 | pDX->m_pDlgWnd->CheckDlgButton(m_ID[f][p],m_Pattern[f][p]?1:0); | ||
119 | } | ||
120 | } | ||
121 | } | ||
122 | } | ||
123 | |||
124 | void CLogPattern::PriorityOn(CWnd *pWnd,UINT pri,UINT from,UINT to) | ||
125 | { | ||
126 | for(UINT f=from;f<=to;f++) | ||
127 | pWnd->CheckDlgButton(m_ID[f][pri],1); | ||
128 | } | ||
129 | |||
130 | void CLogPattern::PriorityXor(CWnd *pWnd,UINT pri,UINT from,UINT to) | ||
131 | { | ||
132 | for(UINT f=from;f<=to;f++) | ||
133 | pWnd->CheckDlgButton(m_ID[f][pri],pWnd->IsDlgButtonChecked(m_ID[f][pri])?0:1); | ||
134 | } | ||
135 | |||
136 | void CLogPattern::FacilityOn(CWnd *pWnd,UINT fac) | ||
137 | { | ||
138 | for(int p=0;p<CSyslogSocket::totalPriorities;p++) | ||
139 | pWnd->CheckDlgButton(m_ID[fac][p],1); | ||
140 | } | ||
141 | |||
142 | void CLogPattern::FacilityXor(CWnd *pWnd,UINT fac) | ||
143 | { | ||
144 | for(int p=0;p<CSyslogSocket::totalPriorities;p++) | ||
145 | pWnd->CheckDlgButton(m_ID[fac][p],pWnd->IsDlgButtonChecked(m_ID[fac][p])?0:1); | ||
146 | } | ||
147 | |||
148 | void CLogPattern::AddTips(CToolTipCtrl& tt,CWnd *pWnd,UINT from,UINT to) | ||
149 | { | ||
150 | CString ttt; | ||
151 | for(UINT f=from;f<to;f++){ | ||
152 | for(UINT p=0;p<CSyslogSocket::totalPriorities;p++){ | ||
153 | ttt.Format("%s.%s",CSyslogSocket::m_Facilities[f],CSyslogSocket::m_Priorities[p]); | ||
154 | tt.AddTool(pWnd->GetDlgItem(m_ID[f][p]),ttt); | ||
155 | } | ||
156 | } | ||
157 | } | ||