win32: use #ifdef _WIN32
[olsrd.git] / gui / win32 / Main / FrontendDlg.h
1 /*
2  * The olsr.org Optimized Link-State Routing daemon (olsrd)
3  * Copyright (c) 2004, Thomas Lopatic (thomas@lopatic.de)
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * * Redistributions of source code must retain the above copyright
11  *   notice, this list of conditions and the following disclaimer.
12  * * Redistributions in binary form must reproduce the above copyright
13  *   notice, this list of conditions and the following disclaimer in
14  *   the documentation and/or other materials provided with the
15  *   distribution.
16  * * Neither the name of olsr.org, olsrd nor the names of its
17  *   contributors may be used to endorse or promote products derived
18  *   from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
24  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31  * POSSIBILITY OF SUCH DAMAGE.
32  *
33  * Visit http://www.olsr.org for more information.
34  *
35  * If you find this software useful feel free to make a donation
36  * to the project. For more information see the website or contact
37  * the copyright holders.
38  *
39  */
40
41 #ifdef _WIN32
42
43 #if !defined(AFX_FRONTENDDLG_H__7D68FBC0_7448_479B_81F0_3FBBDE291395__INCLUDED_)
44 #define AFX_FRONTENDDLG_H__7D68FBC0_7448_479B_81F0_3FBBDE291395__INCLUDED_
45
46 #if defined _MSC_VER && _MSC_VER > 1000
47 #pragma once
48 #endif /* defined _MSC_VER && _MSC_VER > 1000 */
49
50 #include "MyTabCtrl.h"
51 #include "NodeEntry.h"
52
53 #define PIPE_MODE_RUN 0
54 #define PIPE_MODE_INT 1
55
56 class CFrontendDlg:public CDialog {
57 public:
58   CFrontendDlg(CWnd * pParent = NULL);
59
60   //{{AFX_DATA(CFrontendDlg)
61   enum { IDD = IDD_FRONTEND_DIALOG };
62   CButton m_StopButton;
63   CButton m_StartButton;
64   MyTabCtrl m_TabCtrl;
65   //}}AFX_DATA
66
67   unsigned int LogThreadFunc(void);
68   unsigned int NetThreadFunc(void);
69
70   CString ConfigFile;
71 protected:
72
73   //{{AFX_VIRTUAL(CFrontendDlg)
74     virtual void DoDataExchange(CDataExchange * pDX);
75   //}}AFX_VIRTUAL
76
77 public:
78   //{{AFX_MSG(CFrontendDlg)
79     virtual BOOL OnInitDialog();
80   afx_msg void OnOK();
81   afx_msg void OnCancel();
82   afx_msg void OnStartButton();
83   afx_msg void OnStopButton();
84   afx_msg void OnExitButton();
85   //}}AFX_MSG
86
87 protected:
88     DECLARE_MESSAGE_MAP() int StartOlsrd(void);
89   int StopOlsrd(void);
90
91   int GetInterfaces(void);
92
93   HANDLE Event;
94
95   CString StoredTempFile;
96
97   SOCKET SockHand;
98
99   int PipeMode;
100   int ExecutePipe(const char *, HANDLE *, HANDLE *, HANDLE *);
101
102   CWinThread *LogThread;
103   CWinThread *NetThread;
104
105   CStringArray Interfaces;
106   CStringArray Addresses;
107   CStringArray IsWlan;
108
109   HANDLE OutRead, InWrite;
110   HANDLE ShimProc;
111
112   void HandleIpcRoute(struct IpcRoute *);
113   void HandleIpcConfig(struct IpcConfig *);
114   void HandleOlsrHello(struct OlsrHello *, int);
115   void HandleOlsrTc(struct OlsrTc *, int);
116   void HandleOlsrMid(struct OlsrHeader *);
117   void HandleOlsrHna(struct OlsrHeader *);
118
119   void AddNode(unsigned int, unsigned int);
120   void AddMpr(unsigned int, unsigned int, unsigned int);
121   void AddMid(unsigned int, unsigned int, unsigned int);
122   void AddHna(unsigned int, unsigned int, unsigned int, unsigned int);
123
124     CList < class NodeEntry, class NodeEntry & >NodeList;
125
126   void Timeout(void);
127
128   unsigned __int64 Now;
129
130   unsigned int LocalHost;
131 };
132
133 //{{AFX_INSERT_LOCATION}}
134
135 #endif /* !defined(AFX_FRONTENDDLG_H__7D68FBC0_7448_479B_81F0_3FBBDE291395__INCLUDED_) */
136
137 #endif /* _WIN32 */
138
139 /*
140  * Local Variables:
141  * c-basic-offset: 2
142  * indent-tabs-mode: nil
143  * End:
144  */