Limit output to 1000 lines. Process LQ messages.
authorThomas Lopatic <thomas@lopatic.de>
Sat, 20 Nov 2004 23:17:47 +0000 (23:17 +0000)
committerThomas Lopatic <thomas@lopatic.de>
Sat, 20 Nov 2004 23:17:47 +0000 (23:17 +0000)
gui/win32/Main/FrontendDlg.cpp
gui/win32/Main/FrontendDlg.h
gui/win32/Main/Ipc.h
gui/win32/Main/MyDialog1.cpp
gui/win32/Main/MyDialog1.h
gui/win32/Main/MyDialog2.cpp

index d85b04d..efd7ddc 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * $Id: FrontendDlg.cpp,v 1.6 2004/11/20 22:52:49 tlopatic Exp $\r
+ * $Id: FrontendDlg.cpp,v 1.7 2004/11/20 23:17:47 tlopatic Exp $\r
  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
  *\r
  * This file is part of olsr.org.\r
@@ -289,7 +289,7 @@ void CFrontendDlg::AddNode(unsigned int NodeAddr, unsigned int VTime)
        m_TabCtrl.m_Dialog3.UpdateNodeInfo(NodeList);\r
 }\r
 \r
-void CFrontendDlg::HandleOlsrTc(struct OlsrTc *Msg)\r
+void CFrontendDlg::HandleOlsrTc(struct OlsrTc *Msg, int UseLq)\r
 {\r
        int Size;\r
        unsigned int *Addr;\r
@@ -312,6 +312,13 @@ void CFrontendDlg::HandleOlsrTc(struct OlsrTc *Msg)
                AddMpr(*Addr, Msg->Header.Orig, Msg->Header.VTime);\r
 \r
                Addr++;\r
+\r
+               if (UseLq != 0)\r
+               {\r
+                       Size -= 4;\r
+                       Addr++;\r
+               }\r
+\r
        }\r
 }\r
 \r
@@ -365,7 +372,7 @@ void CFrontendDlg::HandleOlsrHna(struct OlsrHeader *Msg)
        }\r
 }\r
 \r
-void CFrontendDlg::HandleOlsrHello(struct OlsrHello *Msg)\r
+void CFrontendDlg::HandleOlsrHello(struct OlsrHello *Msg, int UseLq)\r
 {\r
        int Size, LinkSize;\r
        struct OlsrHelloLink *Link;\r
@@ -403,6 +410,12 @@ void CFrontendDlg::HandleOlsrHello(struct OlsrHello *Msg)
                                AddMpr(*Addr, Msg->Header.Orig, Msg->Header.VTime);\r
 \r
                        Addr++;\r
+\r
+                       if (UseLq != 0)\r
+                       {\r
+                               LinkSize -= 4;\r
+                               Addr++;\r
+                       }\r
                }\r
 \r
                Link = (struct OlsrHelloLink *)Addr;\r
@@ -502,11 +515,11 @@ unsigned int CFrontendDlg::NetThreadFunc(void)
                        break;\r
 \r
                case MSG_TYPE_OLSR_HELLO:\r
-                       HandleOlsrHello((struct OlsrHello *)Msg);\r
+                       HandleOlsrHello((struct OlsrHello *)Msg, 0);\r
                        break;\r
 \r
                case MSG_TYPE_OLSR_TC:\r
-                       HandleOlsrTc((struct OlsrTc *)Msg);\r
+                       HandleOlsrTc((struct OlsrTc *)Msg, 0);\r
                        break;\r
 \r
                case MSG_TYPE_OLSR_MID:\r
@@ -516,6 +529,14 @@ unsigned int CFrontendDlg::NetThreadFunc(void)
                case MSG_TYPE_OLSR_HNA:\r
                        HandleOlsrHna((struct OlsrHeader *)Msg);\r
                        break;\r
+\r
+               case MSG_TYPE_OLSR_LQ_HELLO:\r
+                       HandleOlsrHello((struct OlsrHello *)Msg, 1);\r
+                       break;\r
+\r
+               case MSG_TYPE_OLSR_LQ_TC:\r
+                       HandleOlsrTc((struct OlsrTc *)Msg, 1);\r
+                       break;\r
                }\r
 \r
                delete[] Msg;\r
index 045ad31..991c67a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * $Id: FrontendDlg.h,v 1.3 2004/09/15 11:18:41 tlopatic Exp $\r
+ * $Id: FrontendDlg.h,v 1.4 2004/11/20 23:17:47 tlopatic Exp $\r
  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
  *\r
  * This file is part of olsr.org.\r
@@ -93,8 +93,8 @@ protected:
 \r
        void HandleIpcRoute(struct IpcRoute *);\r
        void HandleIpcConfig(struct IpcConfig *);\r
-       void HandleOlsrHello(struct OlsrHello *);\r
-       void HandleOlsrTc(struct OlsrTc *);\r
+       void HandleOlsrHello(struct OlsrHello *, int);\r
+       void HandleOlsrTc(struct OlsrTc *, int);\r
        void HandleOlsrMid(struct OlsrHeader *);\r
        void HandleOlsrHna(struct OlsrHeader *);\r
 \r
index d7b743b..f3f60de 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * $Id: Ipc.h,v 1.2 2004/09/15 11:18:41 tlopatic Exp $\r
+ * $Id: Ipc.h,v 1.3 2004/11/20 23:17:47 tlopatic Exp $\r
  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
  *\r
  * This file is part of olsr.org.\r
@@ -27,6 +27,8 @@
 #define MSG_TYPE_OLSR_TC 2\r
 #define MSG_TYPE_OLSR_MID 3\r
 #define MSG_TYPE_OLSR_HNA 4\r
+#define MSG_TYPE_OLSR_LQ_HELLO 5\r
+#define MSG_TYPE_OLSR_LQ_TC 6\r
 \r
 #define MSG_TYPE_IPC_ROUTE 11\r
 #define MSG_TYPE_IPC_CONFIG 12\r
index 5bd755e..bfda159 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * $Id: MyDialog1.cpp,v 1.3 2004/11/18 18:02:37 tlopatic Exp $\r
+ * $Id: MyDialog1.cpp,v 1.4 2004/11/20 23:17:47 tlopatic Exp $\r
  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
  *\r
  * This file is part of olsr.org.\r
@@ -33,6 +33,8 @@ static char THIS_FILE[] = __FILE__;
 MyDialog1::MyDialog1(CWnd* pParent)\r
        : CDialog(MyDialog1::IDD, pParent)\r
 {\r
+       NumLines = 0;\r
+\r
        //{{AFX_DATA_INIT(MyDialog1)\r
        //}}AFX_DATA_INIT\r
 }\r
@@ -77,8 +79,21 @@ void MyDialog1::OnCancel()
 \r
 void MyDialog1::AddOutputLine(CString Line)\r
 {\r
+       int Index;\r
+\r
        CritSect.Lock();\r
+\r
        Output += Line + "\r\n";\r
+\r
+       if (NumLines == 1000)\r
+       {\r
+               Index = Output.Find("\r\n");\r
+               Output.Delete(0, Index + 2);\r
+       }\r
+\r
+       else\r
+               NumLines++;\r
+\r
        CritSect.Unlock();\r
 \r
        if (Frozen == 0)\r
@@ -116,6 +131,7 @@ void MyDialog1::OnClearButton()
 {\r
        CritSect.Lock();\r
        Output.Empty();\r
+       NumLines = 0;\r
        CritSect.Unlock();\r
 \r
        m_OutputWindow.SetWindowText(Output);\r
index 8d15e92..f69e297 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * $Id: MyDialog1.h,v 1.3 2004/11/18 18:02:37 tlopatic Exp $\r
+ * $Id: MyDialog1.h,v 1.4 2004/11/20 23:17:47 tlopatic Exp $\r
  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
  *\r
  * This file is part of olsr.org.\r
@@ -70,6 +70,7 @@ protected:
 \r
        CCriticalSection CritSect;\r
        CString Output;\r
+       int NumLines;\r
 \r
        int Frozen;\r
 \r
index b2a6ce3..095a7c0 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * $Id: MyDialog2.cpp,v 1.4 2004/11/20 22:52:49 tlopatic Exp $\r
+ * $Id: MyDialog2.cpp,v 1.5 2004/11/20 23:17:47 tlopatic Exp $\r
  * Copyright (C) 2004 Thomas Lopatic (thomas@lopatic.de)\r
  *\r
  * This file is part of olsr.org.\r
@@ -288,7 +288,9 @@ int MyDialog2::OpenConfigFile(CString PathName)
        m_EtxWindowSize.SetWindowText(Conv);\r
 \r
        m_EtxRadio1.SetCheck(Conf->lq_level == 1);\r
-       m_EtxRadio2.SetCheck(Conf->lq_level == 2);\r
+       m_EtxRadio2.SetCheck(Conf->lq_level == 0 || Conf->lq_level == 2);\r
+\r
+       OnEtxCheck();\r
 \r
        m_InternetCheck.SetCheck(FALSE);\r
 \r