From 5305ddd8332ebd905ebef3b8365fc0d736858a7a Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Mon, 05 Jul 2004 01:53:09 +0000 Subject: initial commit into svn repository git-svn-id: http://svn.klever.net/kin/dipstick/trunk@1 fe716a7a-6dde-0310-88d9-d003556173a8 --- (limited to 'DipstickDlg.h') 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 @@ +// DipstickDlg.h : header file +// + +class CDipstickDlg; +struct CPingyHost { + 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) {} + 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) {} + 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) {} + 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) {} +public: + static UINT SuicideProc(LPVOID pParam); + void Suicide(); + void Ping(); + UINT DoPing(); + static UINT PingProc(LPVOID); + CDipstickDlg* m_Daddy; + CMutex m_mutex; + CString m_Descr; + CString m_URL; + BOOL m_bToPing; + BOOL m_Pinging; + CString m_HostName; + CString m_Status; + DWORD m_IP; + ULONG m_MinRTT; + ULONG m_AvgRTT; + ULONG m_MaxRTT; + BOOL m_Pinged; + int m_Packetloss; +}; + +typedef CList CHostList; + +///////////////////////////////////////////////////////////////////////////// +// CDipstickDlg dialog + +class CDragPad; +class CDipstickDlg : public CDialog +{ +// Construction + struct _xferHTML { + CString html; + CCrackURL src; + }; +public: + BOOL ExportLocations(LPCTSTR file); + CString m_impexPath; + BOOL ImportLocations(LPCTSTR file); + BOOL m_bIgnorelative; + CEvent m_eveStartup; + UINT volatile m_ActiveThreads; + BOOL m_bAdjustInnermost; + BOOL m_bSmartAdjust; + BOOL CollectURLs(COleDataObject* pDO,BOOL bTestOnly=FALSE); + BOOL IsPasteableClipboard(); + void UpdateDragpadTitle(); + BOOL m_bAutoBest; + void RecalcLayout(int cx,int cy); + CSize m_MinSize; + UINT m_GapY; + UINT m_OverY; + UINT m_OverX; + BOOL m_bMSWorkAround; + CRegEx m_reCrackHost; + CRegEx m_reNestedURL; + CRegEx m_reHTMLURL; // 1 - URL + CRegEx m_reCrackURL; // 3 - schema, 4 - host, 5 - path, 7 - query string + BITMAP m_bitmapBack; + CBitmap m_bmpBack; + int m_iUnreachable; + int m_iCompleted; + int m_iPinging; + int m_iPending; + CImageList m_Images; + void UpdateControlButtons(); + BOOL m_bExiting; + int CheckForPendingRequests(); + UINT m_MaxThreads; + BOOL m_bShown; + enum { + sortHost, sortIP, sortMin, sortAvg, sortMax, sortLoss + }; + int m_SortCriteria; + static int CALLBACK CompareItems(LPARAM lp1, LPARAM lp2, LPARAM lp); + DWORD m_Interval; + BOOL RemovePingyHost(CPingyHost *host,int index=-1); + BOOL UpdatePingyHost(CPingyHost *host,int index=-1); + BOOL AddPingyHost(CPingyHost *host); + CHostList m_Hosts; + enum { + subitemHost = 0, subitemIP, subitemMin,subitemAvg,subitemMax, subitemPacketloss + }; + DWORD m_TimeOut; + UINT m_PingSize; + UINT m_PingsPerHost; + CDragPad * m_DragPad; + ~CDipstickDlg(); + CDipstickDlg(CWnd* pParent = NULL); // standard constructor + +// Dialog Data + //{{AFX_DATA(CDipstickDlg) + enum { IDD = IDD_DIPSTICK_DIALOG }; + CButton m_AdvancedCtl; + CButton m_HelpCtl; + CButton m_ExitCtl; + CButton m_OptionsCtl; + CButton m_ManualPingCtl; + CButton m_RemoveCtl; + CButton m_RepingAllCtl; + CButton m_RepingCtl; + CButton m_ClearListCtl; + CListCtrl m_HostList; + //}}AFX_DATA + + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CDipstickDlg) + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + virtual BOOL PreCreateWindow(CREATESTRUCT& cs); + //}}AFX_VIRTUAL + +// Implementation +protected: + HICON m_hIcon; + + // Generated message map functions + //{{AFX_MSG(CDipstickDlg) + virtual BOOL OnInitDialog(); + afx_msg void OnSysCommand(UINT nID, LPARAM lParam); + afx_msg void OnPaint(); + afx_msg HCURSOR OnQueryDragIcon(); + afx_msg void OnDestroy(); + afx_msg void OnOptions(); + afx_msg LRESULT OnUrlPing(WPARAM,LPARAM); + afx_msg LRESULT OnActivityCount(WPARAM,LPARAM); + afx_msg LRESULT OnUpdateHostData(WPARAM,LPARAM); + afx_msg LRESULT OnHTMLTransfer(WPARAM,LPARAM); + afx_msg void OnColumnclickHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos); + afx_msg void OnDragpadOptions(); + afx_msg void OnDragpadShowmainwindow(); + afx_msg void OnDragpadHelp(); + afx_msg void OnDragpadAbout(); + afx_msg void OnDragpadExit(); + virtual void OnOK(); + virtual void OnCancel(); + afx_msg void OnManualping(); + afx_msg void OnDragpadManualping(); + afx_msg void OnDragpadRepingAll(); + afx_msg void OnDragpadRemoveAll(); + afx_msg void OnReping(); + afx_msg void OnRepingall(); + afx_msg void OnClear(); + afx_msg void OnInsertitemHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnDeleteitemHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnDeleteallitemsHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnExit(); + afx_msg void OnItemchangedHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnRemove(); + afx_msg void OnRclickHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnHostListReping(); + afx_msg void OnHostListRemove(); + afx_msg void OnHostListRepingAll(); + afx_msg void OnHostListRemoveAll(); + afx_msg void OnHostListOpenURL(); + afx_msg void OnHostListProperties(); + afx_msg void OnDblclkHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnClose(); + afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI); + afx_msg void OnSize(UINT nType, int cx, int cy); + afx_msg void OnHelp(); + afx_msg void OnBegindragHostlist(NMHDR* pNMHDR, LRESULT* pResult); + afx_msg void OnPasteurl(); + afx_msg void OnHostlistCopyurl(); + afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); + afx_msg void OnDropFiles(HDROP hDropInfo); + afx_msg void OnAdvanced(); + afx_msg void OnAdvancedExportlist(); + afx_msg void OnAdvancedImportlist(); + afx_msg void OnDragpadAdvancedExportlist(); + afx_msg void OnDragpadAdvancedImportlist(); + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; -- cgit v0.9.0.2