991c67ad3343fb024514c30a17f4116141c7302c
[olsrd.git] / gui / win32 / Main / FrontendDlg.h
1 /*\r
2  * $Id: FrontendDlg.h,v 1.4 2004/11/20 23:17:47 tlopatic Exp $\r
3  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
4  *\r
5  * This file is part of olsr.org.\r
6  *\r
7  * olsr.org is free software; you can redistribute it and/or modify\r
8  * it under the terms of the GNU General Public License as published by\r
9  * the Free Software Foundation; either version 2 of the License, or\r
10  * (at your option) any later version.\r
11  *\r
12  * olsr.org is distributed in the hope that it will be useful,\r
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15  * GNU General Public License for more details.\r
16  *\r
17  * You should have received a copy of the GNU General Public License\r
18  * along with olsr.org; if not, write to the Free Software\r
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
20  *\r
21  */\r
22 \r
23 #if !defined(AFX_FRONTENDDLG_H__7D68FBC0_7448_479B_81F0_3FBBDE291395__INCLUDED_)\r
24 #define AFX_FRONTENDDLG_H__7D68FBC0_7448_479B_81F0_3FBBDE291395__INCLUDED_\r
25 \r
26 #if _MSC_VER > 1000\r
27 #pragma once\r
28 #endif\r
29 \r
30 #include "MyTabCtrl.h"\r
31 #include "NodeEntry.h"\r
32 \r
33 #define PIPE_MODE_RUN 0\r
34 #define PIPE_MODE_INT 1\r
35 \r
36 class CFrontendDlg : public CDialog\r
37 {\r
38 public:\r
39         CFrontendDlg(CWnd* pParent = NULL);\r
40 \r
41         //{{AFX_DATA(CFrontendDlg)\r
42         enum { IDD = IDD_FRONTEND_DIALOG };\r
43         CButton m_StopButton;\r
44         CButton m_StartButton;\r
45         MyTabCtrl m_TabCtrl;\r
46         //}}AFX_DATA\r
47 \r
48         unsigned int LogThreadFunc(void);\r
49         unsigned int NetThreadFunc(void);\r
50 \r
51         CString ConfigFile;\r
52 \r
53         //{{AFX_VIRTUAL(CFrontendDlg)\r
54         protected:\r
55         virtual void DoDataExchange(CDataExchange* pDX);\r
56         //}}AFX_VIRTUAL\r
57 \r
58 protected:\r
59         //{{AFX_MSG(CFrontendDlg)\r
60         virtual BOOL OnInitDialog();\r
61         afx_msg void OnOK();\r
62         afx_msg void OnCancel();\r
63         afx_msg void OnStartButton();\r
64         afx_msg void OnStopButton();\r
65         afx_msg void OnExitButton();\r
66         //}}AFX_MSG\r
67 \r
68         DECLARE_MESSAGE_MAP()\r
69 \r
70         int GetInterfaces(void);\r
71 \r
72         HANDLE Event;\r
73 \r
74         CString StoredTempFile;\r
75 \r
76         SOCKET SockHand;\r
77 \r
78         int StartOlsrd(void);\r
79         int StopOlsrd(void);\r
80 \r
81         int PipeMode;\r
82         int ExecutePipe(const char *, HANDLE *, HANDLE *, HANDLE *);\r
83 \r
84         CWinThread *LogThread;\r
85         CWinThread *NetThread;\r
86 \r
87         CStringArray Interfaces;\r
88         CStringArray Addresses;\r
89         CStringArray IsWlan;\r
90 \r
91         HANDLE OutRead, InWrite;\r
92         HANDLE ShimProc;\r
93 \r
94         void HandleIpcRoute(struct IpcRoute *);\r
95         void HandleIpcConfig(struct IpcConfig *);\r
96         void HandleOlsrHello(struct OlsrHello *, int);\r
97         void HandleOlsrTc(struct OlsrTc *, int);\r
98         void HandleOlsrMid(struct OlsrHeader *);\r
99         void HandleOlsrHna(struct OlsrHeader *);\r
100 \r
101         void AddNode(unsigned int, unsigned int);\r
102         void AddMpr(unsigned int, unsigned int, unsigned int);\r
103         void AddMid(unsigned int, unsigned int, unsigned int);\r
104         void AddHna(unsigned int, unsigned int, unsigned int, unsigned int);\r
105 \r
106         CList<class NodeEntry, class NodeEntry &> NodeList;\r
107 \r
108         void Timeout(void);\r
109 \r
110         unsigned __int64 Now;\r
111 \r
112         unsigned int LocalHost;\r
113 };\r
114 \r
115 //{{AFX_INSERT_LOCATION}}\r
116 \r
117 #endif\r
118 \r