summaryrefslogtreecommitdiffabout
path: root/DipstickDlg.h
Unidiff
Diffstat (limited to 'DipstickDlg.h') (more/less context) (ignore whitespace changes)
-rw-r--r--DipstickDlg.h184
1 files changed, 184 insertions, 0 deletions
diff --git a/DipstickDlg.h b/DipstickDlg.h
new file mode 100644
index 0000000..ce9ed22
--- a/dev/null
+++ b/DipstickDlg.h
@@ -0,0 +1,184 @@
1// DipstickDlg.h : header file
2//
3
4class CDipstickDlg;
5 struct CPingyHost{
6 CPingyHost(CDipstickDlg* daddy) : m_IP(0), m_MinRTT(0), m_AvgRTT(0), m_MaxRTT(0), m_Pinged(FALSE), m_Pinging(FALSE), m_Packetloss(-1), m_bToPing(TRUE), m_Daddy(daddy){}
7 CPingyHost(CDipstickDlg* daddy,LPTSTR hostname) : m_HostName(hostname), m_IP(0), m_MinRTT(0), m_AvgRTT(0), m_MaxRTT(0), m_Pinged(FALSE), m_Pinging(FALSE), m_Packetloss(-1), m_bToPing(TRUE), m_Daddy(daddy){}
8 CPingyHost(CDipstickDlg* daddy,LPTSTR hostname,DWORD ip) : m_HostName(hostname), m_IP(ip), m_MinRTT(0), m_AvgRTT(0), m_MaxRTT(0), m_Pinged(FALSE), m_Pinging(FALSE), m_Packetloss(-1), m_bToPing(TRUE), m_Daddy(daddy){}
9 CPingyHost(CDipstickDlg* daddy,DWORD ip) : m_IP(ip), m_MinRTT(0), m_AvgRTT(0), m_MaxRTT(0), m_Pinged(FALSE), m_Pinging(FALSE), m_Packetloss(-1), m_bToPing(TRUE), m_Daddy(daddy){}
10public:
11 static UINT SuicideProc(LPVOID pParam);
12 void Suicide();
13 void Ping();
14 UINT DoPing();
15 static UINT PingProc(LPVOID);
16 CDipstickDlg* m_Daddy;
17 CMutex m_mutex;
18 CString m_Descr;
19 CString m_URL;
20 BOOL m_bToPing;
21 BOOL m_Pinging;
22 CStringm_HostName;
23 CString m_Status;
24 DWORD m_IP;
25 ULONG m_MinRTT;
26 ULONG m_AvgRTT;
27 ULONG m_MaxRTT;
28 BOOL m_Pinged;
29 int m_Packetloss;
30};
31
32 typedef CList<CPingyHost*,CPingyHost*>CHostList;
33
34/////////////////////////////////////////////////////////////////////////////
35// CDipstickDlg dialog
36
37class CDragPad;
38class CDipstickDlg : public CDialog
39{
40// Construction
41 struct _xferHTML{
42 CString html;
43 CCrackURL src;
44 };
45public:
46 BOOL ExportLocations(LPCTSTR file);
47 CString m_impexPath;
48 BOOL ImportLocations(LPCTSTR file);
49 BOOL m_bIgnorelative;
50 CEvent m_eveStartup;
51 UINT volatile m_ActiveThreads;
52 BOOL m_bAdjustInnermost;
53 BOOL m_bSmartAdjust;
54 BOOL CollectURLs(COleDataObject* pDO,BOOL bTestOnly=FALSE);
55 BOOL IsPasteableClipboard();
56 void UpdateDragpadTitle();
57 BOOL m_bAutoBest;
58 void RecalcLayout(int cx,int cy);
59 CSize m_MinSize;
60 UINT m_GapY;
61 UINT m_OverY;
62 UINT m_OverX;
63 BOOL m_bMSWorkAround;
64 CRegEx m_reCrackHost;
65 CRegEx m_reNestedURL;
66 CRegEx m_reHTMLURL; // 1 - URL
67 CRegEx m_reCrackURL; //3 - schema, 4 - host, 5 - path, 7 - query string
68 BITMAP m_bitmapBack;
69 CBitmap m_bmpBack;
70 int m_iUnreachable;
71 int m_iCompleted;
72 int m_iPinging;
73 int m_iPending;
74 CImageList m_Images;
75 void UpdateControlButtons();
76 BOOL m_bExiting;
77 int CheckForPendingRequests();
78 UINT m_MaxThreads;
79 BOOL m_bShown;
80 enum{
81 sortHost, sortIP, sortMin, sortAvg, sortMax, sortLoss
82 };
83 int m_SortCriteria;
84 static int CALLBACK CompareItems(LPARAM lp1, LPARAM lp2, LPARAM lp);
85 DWORD m_Interval;
86 BOOL RemovePingyHost(CPingyHost *host,int index=-1);
87 BOOL UpdatePingyHost(CPingyHost *host,int index=-1);
88 BOOL AddPingyHost(CPingyHost *host);
89 CHostList m_Hosts;
90 enum{
91 subitemHost = 0, subitemIP, subitemMin,subitemAvg,subitemMax, subitemPacketloss
92 };
93 DWORD m_TimeOut;
94 UINT m_PingSize;
95 UINT m_PingsPerHost;
96 CDragPad * m_DragPad;
97 ~CDipstickDlg();
98 CDipstickDlg(CWnd* pParent = NULL);// standard constructor
99
100// Dialog Data
101 //{{AFX_DATA(CDipstickDlg)
102 enum { IDD = IDD_DIPSTICK_DIALOG };
103 CButtonm_AdvancedCtl;
104 CButtonm_HelpCtl;
105 CButtonm_ExitCtl;
106 CButtonm_OptionsCtl;
107 CButtonm_ManualPingCtl;
108 CButtonm_RemoveCtl;
109 CButtonm_RepingAllCtl;
110 CButtonm_RepingCtl;
111 CButtonm_ClearListCtl;
112 CListCtrlm_HostList;
113 //}}AFX_DATA
114
115 // ClassWizard generated virtual function overrides
116 //{{AFX_VIRTUAL(CDipstickDlg)
117 protected:
118 virtual void DoDataExchange(CDataExchange* pDX);// DDX/DDV support
119 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
120 //}}AFX_VIRTUAL
121
122// Implementation
123protected:
124 HICON m_hIcon;
125
126 // Generated message map functions
127 //{{AFX_MSG(CDipstickDlg)
128 virtual BOOL OnInitDialog();
129 afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
130 afx_msg void OnPaint();
131 afx_msg HCURSOR OnQueryDragIcon();
132 afx_msg void OnDestroy();
133 afx_msg void OnOptions();
134 afx_msg LRESULT OnUrlPing(WPARAM,LPARAM);
135 afx_msg LRESULT OnActivityCount(WPARAM,LPARAM);
136 afx_msg LRESULT OnUpdateHostData(WPARAM,LPARAM);
137 afx_msg LRESULT OnHTMLTransfer(WPARAM,LPARAM);
138 afx_msg void OnColumnclickHostlist(NMHDR* pNMHDR, LRESULT* pResult);
139 afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
140 afx_msg void OnDragpadOptions();
141 afx_msg void OnDragpadShowmainwindow();
142 afx_msg void OnDragpadHelp();
143 afx_msg void OnDragpadAbout();
144 afx_msg void OnDragpadExit();
145 virtual void OnOK();
146 virtual void OnCancel();
147 afx_msg void OnManualping();
148 afx_msg void OnDragpadManualping();
149 afx_msg void OnDragpadRepingAll();
150 afx_msg void OnDragpadRemoveAll();
151 afx_msg void OnReping();
152 afx_msg void OnRepingall();
153 afx_msg void OnClear();
154 afx_msg void OnInsertitemHostlist(NMHDR* pNMHDR, LRESULT* pResult);
155 afx_msg void OnDeleteitemHostlist(NMHDR* pNMHDR, LRESULT* pResult);
156 afx_msg void OnDeleteallitemsHostlist(NMHDR* pNMHDR, LRESULT* pResult);
157 afx_msg void OnExit();
158 afx_msg void OnItemchangedHostlist(NMHDR* pNMHDR, LRESULT* pResult);
159 afx_msg void OnRemove();
160 afx_msg void OnRclickHostlist(NMHDR* pNMHDR, LRESULT* pResult);
161 afx_msg void OnHostListReping();
162 afx_msg void OnHostListRemove();
163 afx_msg void OnHostListRepingAll();
164 afx_msg void OnHostListRemoveAll();
165 afx_msg void OnHostListOpenURL();
166 afx_msg void OnHostListProperties();
167 afx_msg void OnDblclkHostlist(NMHDR* pNMHDR, LRESULT* pResult);
168 afx_msg void OnClose();
169 afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);
170 afx_msg void OnSize(UINT nType, int cx, int cy);
171 afx_msg void OnHelp();
172 afx_msg void OnBegindragHostlist(NMHDR* pNMHDR, LRESULT* pResult);
173 afx_msg void OnPasteurl();
174 afx_msg void OnHostlistCopyurl();
175 afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
176 afx_msg void OnDropFiles(HDROP hDropInfo);
177 afx_msg void OnAdvanced();
178 afx_msg void OnAdvancedExportlist();
179 afx_msg void OnAdvancedImportlist();
180 afx_msg void OnDragpadAdvancedExportlist();
181 afx_msg void OnDragpadAdvancedImportlist();
182 //}}AFX_MSG
183 DECLARE_MESSAGE_MAP()
184};