]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - tools/src/tools/testtool/win32/RunTestsSheet.h
Initial revision
[karo-tx-redboot.git] / tools / src / tools / testtool / win32 / RunTestsSheet.h
1 //####COPYRIGHTBEGIN####
2 //                                                                          
3 // ----------------------------------------------------------------------------
4 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
5 //
6 // This program is part of the eCos host tools.
7 //
8 // This program is free software; you can redistribute it and/or modify it 
9 // under the terms of the GNU General Public License as published by the Free 
10 // Software Foundation; either version 2 of the License, or (at your option) 
11 // any later version.
12 // 
13 // This program is distributed in the hope that it will be useful, but WITHOUT 
14 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
15 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
16 // more details.
17 // 
18 // You should have received a copy of the GNU General Public License along with
19 // this program; if not, write to the Free Software Foundation, Inc., 
20 // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
21 //
22 // ----------------------------------------------------------------------------
23 //                                                                          
24 //####COPYRIGHTEND####
25 #if !defined(AFX_RUNTESTSSHEET_H__44CEA289_11C4_11D3_A505_00A0C949ADAC__INCLUDED_)
26 #define AFX_RUNTESTSSHEET_H__44CEA289_11C4_11D3_A505_00A0C949ADAC__INCLUDED_
27
28 #if _MSC_VER > 1000
29 #pragma once
30 #endif // _MSC_VER > 1000
31 // RunTestsSheet.h : header file
32 //
33
34 /////////////////////////////////////////////////////////////////////////////
35 // CRunTestsSheet
36 #include "stdafx.h"
37 #include "ExecutionPage.h"
38 #include "OutputPage.h"
39 #include "SummaryPage.h"
40 #include "Properties.h"
41 #include "eCosTest.h"
42 #include "eCosPropertySheet.h"
43
44 class CTestResource;
45 class CRunTestsSheet : public CeCosPropertySheet
46 {
47         DECLARE_DYNAMIC(CRunTestsSheet)
48     enum Status {Running, Stopping, Stopped};
49     Status m_Status;
50 // Construction
51 public:
52
53     typedef void (CALLBACK CBFunc)(CProperties*,bool bSave);
54         CRunTestsSheet(LPCTSTR pszCaption=_T("Run Tests"), CWnd* pParentWnd = NULL, UINT iSelectPage = 0, CBFunc *pInitFunc=0, CRunTestsSheet **ppSheet=0);
55
56 // Attributes
57 public:
58 protected:
59     CeCosTest::ExecutionParameters m_ep;
60     String m_strTarget;
61     int m_nTimeout;
62     int m_nDownloadTimeout;
63     int m_nTimeoutType;
64     int m_nDownloadTimeoutType;
65     bool m_bRemote;
66     bool m_bSerial;
67     int m_nBaud;
68     String m_strLocalTCPIPHost;
69     int m_nLocalTCPIPPort;
70     int m_nReset;
71     String m_strResourceHost;
72     int m_nResourcePort;
73     String m_strReset;
74     static void CALLBACK RunLocalFunc(void *pParam);
75     static void CALLBACK RunRemoteFunc(void *pParam);
76
77 // Operations
78 public:
79     void SetTarget(LPCTSTR pszTarget);
80     void SetResetNone() { m_nReset = RESET_NONE; };
81 // Overrides
82         // ClassWizard generated virtual function overrides
83         //{{AFX_VIRTUAL(CRunTestsSheet)
84         public:
85         virtual BOOL OnInitDialog();
86         virtual BOOL PreTranslateMessage(MSG* pMsg);
87         virtual int DoModal();
88         protected:
89         virtual void PostNcDestroy();
90         //}}AFX_VIRTUAL
91
92 // Implementation
93 public:
94         CProperties m_prop;
95         virtual ~CRunTestsSheet();
96
97     enum AffinityType { BottomRight, TopLeft, TopRight, BottomLeft, Stretch};
98         void MoveWindow(CWnd *pWnd,AffinityType Affinity,bool bRepaint=true);
99         CRect GetWindowOffset(CWnd *pWnd);
100         // Generated message map functions
101 protected:
102         CRunTestsSheet ** m_ppSheet;
103         bool m_bModal;
104         bool m_bHideRemoteControls;
105   static DWORD CALLBACK X10ThreadFunc (void *pParam);
106         CString m_strPlacement;
107         bool m_bHideTarget;
108         UINT m_nRemotePort;
109         bool m_bFarmed;
110         String m_strPort;
111         int m_cyMin;
112         int m_cxMin;
113         CRect m_rcPrev,m_rcOffset;
114         bool m_bAllowResizing;
115         CBFunc* m_pInitFunc;
116         void * m_InitFuncParam;
117         static void CALLBACK TestOutputCallback(void *pParam,LPCTSTR psz);
118         CTestResource * m_pResource;
119         CRITICAL_SECTION m_CS;
120         int m_nTestsToComplete;
121         static void CALLBACK RunCallback(void *pParam);
122         int m_nNextToSubmit;
123         void SubmitTests();
124     CExecutionPage  executionpage;
125 public:
126         void Populate (LPCTSTR pszFile,bool bSelect=true);
127         void HideRemoteControls();
128         String m_strRemoteHost;
129 private:
130     COutputPage outputpage;
131     CSummaryPage summarypage;
132         //{{AFX_MSG(CRunTestsSheet)
133         afx_msg void OnRun();   
134         afx_msg void OnProperties();
135         afx_msg void OnClose();
136     afx_msg LRESULT OnTestOutput(WPARAM wParam, LPARAM lParam);
137     afx_msg LRESULT OnTestsComplete(WPARAM wParam, LPARAM lParam);
138         afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
139         afx_msg void OnSize(UINT nType, int cx, int cy);
140         afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);
141         afx_msg void OnTimer(UINT nIDEvent);
142         //}}AFX_MSG
143     afx_msg LRESULT OnKickIdle(WPARAM, LPARAM); 
144     DECLARE_MESSAGE_MAP()
145 };
146
147 /////////////////////////////////////////////////////////////////////////////
148
149 //{{AFX_INSERT_LOCATION}}
150 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
151
152 #endif // !defined(AFX_RUNTESTSSHEET_H__44CEA289_11C4_11D3_A505_00A0C949ADAC__INCLUDED_)