Implement the rest of the predefined Message targets
authorChris Tallon <chris@vomp.tv>
Wed, 15 Apr 2020 16:25:46 +0000 (17:25 +0100)
committerChris Tallon <chris@vomp.tv>
Wed, 15 Apr 2020 16:25:46 +0000 (17:25 +0100)
18 files changed:
boxstack.cc
command.cc
command.h
message.h
vchannelselect.cc
vepgsettimer.cc
vmedialist.cc
vmediaview.cc
vmute.cc
vradiorec.cc
vrecording.cc
vrecordingmenu.cc
vsleeptimer.cc
vtimeredit.cc
vvideomedia.cc
vvideorec.cc
vvolume.cc
winmain.cc

index f5c3c685ce48a3133b47ecdf1377a988a1d26678..d72500b6c1088e2399c8a611dd66cec2aa94fd3b 100644 (file)
@@ -556,7 +556,7 @@ int BoxStack::handleCommand(int command)
 
 void BoxStack::processMessage(Message* m)
 {
-  if (m->to != this)
+  if ((m->p_to != Message::BOXSTACK) && (m->to != this))
   {
     for (int i = numBoxes-1; i >= 0; i--)
     {
@@ -570,12 +570,11 @@ void BoxStack::processMessage(Message* m)
     return;
   }
 
-  /* Handle mouse events*/
-  // They come in with m->to = NULL? and just need to be delivered to top box?
-  if ((numBoxes > 1) && ((m->message == Message::MOUSE_MOVE) || (m->message == Message::MOUSE_LBDOWN)
-                 || (m->message == Message::MOUSE_SCROLL)))
+  // Handle mouse events
+  // They just need to be delivered to top box
+  if (m->p_to == Message::MOUSE_RECEIVER)
   {
-    boxes[numBoxes-1]->processMessage(m);
+    if (numBoxes > 1) boxes[numBoxes-1]->processMessage(m);
     return;
   }
 
index 34bc1e6d8c4bcadb2537528f01aa6c761c5ee7f1..54dee974cdc513b1b5b965215c34d3cc9efd5ed3 100644 (file)
@@ -109,7 +109,7 @@ void Command::stop()
 
   Message* m = new Message(); // break master loop
   m->message = Message::SHUTDOWN;
-  m->to = this;
+  m->p_to = Message::CONTROL;
   postMessage(m);
 }
 
@@ -231,7 +231,7 @@ void Command::processMessage(Message* m)
   logger->log("Command", Log::DEBUG, "processing message %i", m->message);
 
 
-  if ((m->p_to == Message::CONTROL) || (m->to == this))
+  if ((m->p_to == Message::CONTROL) || (m->to == this)) // Maybe don't check m->to here? Always use predefined?
   {
     switch(m->message)
     {
@@ -409,6 +409,7 @@ void Command::handleCommand(int button)
   }
 }
 
+/*
 void Command::sig1()
 {
 #ifdef DEV
@@ -418,6 +419,7 @@ void Command::sig1()
   postMessage(m);
 #endif
 }
+*/
 
 void Command::doStandby()
 {
@@ -570,7 +572,7 @@ void Command::connectionLost()
   logger->unsetExternLogger();
   Message* m = new Message(); // break into master mutex
   m->message = Message::CONNECTION_LOST;
-  m->to = this;
+  m->p_to = Message::CONTROL;
   postMessage(m);
 }
 
index 70c7a4caa8c02c640cc86ca81dbe440ee582e51d..62fb740fcb4e0419a1b46b6f6a3e904f5a644917 100644 (file)
--- a/command.h
+++ b/command.h
@@ -85,7 +85,7 @@ class Command : public MessageQueue
     void doWallpaper();
     void doFromTheTop(bool which);  // true - show vinfo,wait. false - del vinfo,restart
     void buildCrashedBox();
-    void sig1();
+//    void sig1();
     void clearMQInputEvents();
 
     static Command* instance;
index c709b80490614d86eca18dd2837f977a1cc0a949..e362ec266be68b3b37d783f065e0a22764e52c81 100644 (file)
--- a/message.h
+++ b/message.h
@@ -41,7 +41,8 @@ class Message
     {
       NA = 0,
       CONTROL,
-      BOXSTACK
+      BOXSTACK,
+      MOUSE_RECEIVER
     };
 
     Message();
index 8bdd594653622cd9e9a8afdb3d866856a4cab5aa..1a6881b06dd3d9d3f314d547255e5d7194ce42f1 100644 (file)
@@ -120,7 +120,7 @@ void VChannelSelect::changeChannel()
   // Close me
   m = new Message(); // Delete self
   m->from = this;
-  m->to = BoxStack::getInstance();
+  m->p_to = Message::BOXSTACK;
   m->message = Message::CLOSE_ME;
   MessageQueue::getInstance()->postMessage(m);
 }
index b9a009bb078740b5454fd4198a6adaf0a4b59979..a9412937ea5f6025346fb4206ed311d7290bb53f 100644 (file)
@@ -277,7 +277,7 @@ void VEpgSetTimer::doit()
 
   Message* m = new Message();
   m->message = Message::ADD_VIEW;
-  m->to = boxstack;
+  m->p_to = Message::BOXSTACK;
   m->data = reinterpret_cast<void*>(vi);
   MessageQueue::getInstance()->postMessage(m);
 }
index ef22b7b94dcd75702dee532e42a1002aa33299af..1db39aaccec1de2699b4976a3089bdc2a65118df 100644 (file)
@@ -1176,7 +1176,7 @@ int VMediaList::load() {
 
     Message* m = new Message();
     m->message = Message::ADD_VIEW;
-    m->to = boxstack;
+    m->p_to = Message::BOXSTACK;
     m->data = reinterpret_cast<void*>(vi);
     MessageQueue::getInstance()->postMessage(m);
   }
index 87e0f10783a82e1bf611f73ff931527d553dc28b..6aca5b8a4202c9756c1c0def97fe4e7483eb19eb 100644 (file)
@@ -1071,7 +1071,7 @@ void VMediaView::destroyInfo(bool fromTimer){
 void VMediaView::sendViewMsg(Boxx *v) {
   Message* m = new Message(); 
   m->message = Message::CLOSE_ME;
-  m->to = BoxStack::getInstance();
+  m->p_to = Message::BOXSTACK;
   m->from = v;
   m->parameter=(ULONG)v;
   MessageQueue::getInstance()->postMessage(m);
index 9a8ccdc14086a88b3dc55a1252fd23b74d90d1e1..c10ad787dcf4ff5aded8d9e46ca31616eea94d65 100644 (file)
--- a/vmute.cc
+++ b/vmute.cc
@@ -69,7 +69,7 @@ void VMute::timercall(int /* clientReference */)
   // delete me!
   Message* m = new Message(); // Delete self
   m->message = Message::CLOSE_ME;
-  m->to = BoxStack::getInstance();
+  m->p_to = Message::BOXSTACK;
   m->from = this;
   MessageQueue::getInstance()->postMessage(m);
 }
index 0e6bc6856f3229c9fca4c01f814a9f9b8f210f2c..deacb62793805b448d876b6bb25fc76d93370afb 100644 (file)
@@ -155,7 +155,7 @@ void VRadioRec::go(bool resume)
     Message* m = new Message();
     m->message = Message::CLOSE_ME;
     m->from = this;
-    m->to = boxstack;
+    m->p_to = Message::BOXSTACK;
     MessageQueue::getInstance()->postMessage(m);
 
     VInfo* vi = new VInfo();
@@ -173,7 +173,7 @@ void VRadioRec::go(bool resume)
 
     m = new Message();
     m->message = Message::ADD_VIEW;
-    m->to = boxstack;
+    m->p_to = Message::BOXSTACK;
     m->data = reinterpret_cast<void*>(vi);
     MessageQueue::getInstance()->postMessage(m);
   }
index 6e4eae554be2032519d8ae3cc5c3fda12e36bf9f..9c763cd6264784bfa1bbf3fa674857d097b2411f 100644 (file)
@@ -260,7 +260,7 @@ int VRecording::handleCommand(int command)
 
               Message* m = new Message();
               m->message = Message::ADD_VIEW;
-              m->to = BoxStack::getInstance();
+              m->p_to = Message::BOXSTACK;
               m->data = reinterpret_cast<void*>(vi);
               MessageQueue::getInstance()->postMessage(m);
 
@@ -436,7 +436,7 @@ void VRecording::processMessage(Message* m)
     {
       Message* m2 = new Message(); // Delete self
       m2->from = this;
-      m2->to = BoxStack::getInstance();
+      m2->p_to = Message::BOXSTACK;
       m2->message = Message::CLOSE_ME;
       MessageQueue::getInstance()->postMessage(m2);
 
@@ -451,7 +451,7 @@ void VRecording::processMessage(Message* m)
   {
     Message* m2 = new Message(); // Delete self
     m2->from = this;
-    m2->to = BoxStack::getInstance();
+    m2->p_to = Message::BOXSTACK;
     m2->message = Message::CLOSE_ME;
     MessageQueue::getInstance()->postMessage(m2);
 
index 52dc306f452d421c1de2f02aaeb611dc2482c71f..7627ee295cff2a00846cdad172a363fc4feaffc0 100644 (file)
@@ -221,7 +221,7 @@ void VRecordingMenu::processMessage(Message* m)
     {
       Message* m2 = new Message(); // Delete self
       m2->from = this;
-      m2->to = BoxStack::getInstance();
+      m2->p_to = Message::BOXSTACK;
       m2->message = Message::CLOSE_ME;
       MessageQueue::getInstance()->postMessage(m2);
 
@@ -236,7 +236,7 @@ void VRecordingMenu::processMessage(Message* m)
   {
     Message* m2 = new Message(); // Delete self
     m2->from = this;
-    m2->to = BoxStack::getInstance();
+    m2->p_to = Message::BOXSTACK;
     m2->message = Message::CLOSE_ME;
     MessageQueue::getInstance()->postMessage(m2);
 
index 5acb22d316e1edec2d7ade32885f2833136a2514..965139641cf3bae4f83c56437a2c608646a47617 100644 (file)
@@ -159,7 +159,7 @@ void Sleeptimer::threadMethod()
 
       Message* m1 = new Message();
       m1->message = Message::ADD_VIEW;
-      m1->to = BoxStack::getInstance();
+      m1->p_to = Message::BOXSTACK;
       m1->data = reinterpret_cast<void*>(count);
       MessageQueue::getInstance()->postMessage(m1);
     }
@@ -228,7 +228,7 @@ void VSleeptimer::timercall(int /* clientReference */)
   // delete me!
   Message* m = new Message(); // Delete self
   m->message = Message::CLOSE_ME;
-  m->to = BoxStack::getInstance();
+  m->p_to = Message::BOXSTACK;
   m->from = this;
   MessageQueue::getInstance()->postMessage(m);
 }
@@ -295,7 +295,7 @@ void VCountdown::timercall(int /* clientReference */)
   // delete me!
   Message* m = new Message(); // Delete self
   m->message = Message::CLOSE_ME;
-  m->to = BoxStack::getInstance();
+  m->p_to = Message::BOXSTACK;
   m->from = this;
   MessageQueue::getInstance()->postMessage(m);
 }
index a66aca04d94cd386c719deee7ada960c9b972915..214cff8b7002d25d394265ec4ab4609f76245dd5 100644 (file)
@@ -261,7 +261,7 @@ void VTimerEdit::processMessage(Message* m)
     {
       Message* m2 = new Message(); // Delete self
       m2->from = this;
-      m2->to = BoxStack::getInstance();
+      m2->p_to = Message::BOXSTACK;
       m2->message = Message::CLOSE_ME;
       MessageQueue::getInstance()->postMessage(m2);
 
index 839392017dd2b0114ea55cf63be513f7c47d7f30..13ffe3c95f1a2ec727db527d07b5060006206434 100644 (file)
@@ -172,7 +172,7 @@ void VVideoMedia::go(bool resume)
     Message* m = new Message();
     m->message = Message::CLOSE_ME;
     m->from = this;
-    m->to = boxstack;
+    m->p_to = Message::BOXSTACK;
     MessageQueue::getInstance()->postMessage(m);
 
     VInfo* vi = new VInfo();
@@ -190,7 +190,7 @@ void VVideoMedia::go(bool resume)
 
     m = new Message();
     m->message = Message::ADD_VIEW;
-    m->to = boxstack;
+    m->p_to = Message::BOXSTACK;
     m->data = reinterpret_cast<void*>(vi);
     MessageQueue::getInstance()->postMessage(m);
   }
@@ -378,7 +378,7 @@ void VVideoMedia::processMessage(Message* m)
       case PlayerMedia::STREAM_END:
       {
         Message* m2 = new Message(); // Must be done after this thread finishes, and must break into master mutex
-        m2->to = BoxStack::getInstance();
+        m2->p_to = Message::BOXSTACK;
         m2->message = Message::CLOSE_ME;
         MessageQueue::getInstance()->postMessage(m2);
         break;
index 7fe5c860dd1d0c472321f78c5de06a6725af366a..792f3181f07c49d4812a1d00bed97035286b76b4 100644 (file)
@@ -188,7 +188,7 @@ void VVideoRec::go(bool resume)
     Message* m = new Message();
     m->message = Message::CLOSE_ME;
     m->from = this;
-    m->to = boxstack;
+    m->p_to = Message::BOXSTACK;
     MessageQueue::getInstance()->postMessage(m);
 
     VInfo* vi = new VInfo();
@@ -207,7 +207,7 @@ void VVideoRec::go(bool resume)
 
     m = new Message();
     m->message = Message::ADD_VIEW;
-    m->to = boxstack;
+    m->p_to = Message::BOXSTACK;
     m->data = reinterpret_cast<void*>(vi);
     MessageQueue::getInstance()->postMessage(m);
   }
index c0fc58afbcd91ac0c37f0ee086808e7b191f75a0..dd6941d465d3091713239f787a0a3771207c245b 100644 (file)
@@ -85,7 +85,7 @@ void VVolume::timercall(int /* clientReference */)
   // delete me!
   Message* m = new Message(); // Delete self
   m->message = Message::CLOSE_ME;
-  m->to = BoxStack::getInstance();
+  m->p_to = Message::BOXSTACK;
   m->from = this;
   MessageQueue::getInstance()->postMessage(m);
 }
index 2ace4075935337a0913db874aba2412518542a69..631c70c75c38fe1dd6bccc5f48ea4c2d6ff1f052 100644 (file)
@@ -690,7 +690,7 @@ LONG FAR PASCAL WindowProc(HWND wind, UINT msg, WPARAM wparam, LPARAM lparam)
       Message *mousemes=new Message();
       mousemes->message=Message::MOUSE_MOVE;
       mousemes->from=NULL;
-      mousemes->to=BoxStack::getInstance();
+      mousemes->p_to = Message::MOUSE_RECEIVER;
       mousemes->parameter=(mpos.x & 0xFFFF)<< 16| (mpos.y & 0xFFFF);
       mousemes->tag=0;
       messageQueue->postMessage(mousemes);
@@ -722,7 +722,7 @@ LONG FAR PASCAL WindowProc(HWND wind, UINT msg, WPARAM wparam, LPARAM lparam)
       Message *mousemes=new Message();
       mousemes->message=Message::MOUSE_LBDOWN;
       mousemes->from=NULL;
-      mousemes->to=BoxStack::getInstance();
+      mousemes->p_to = Message::MOUSE_RECEIVER;
       mousemes->parameter=(mpos.x & 0xFFFF)<< 16| (mpos.y & 0xFFFF);
       mousemes->tag=0;
       messageQueue->postMessage(mousemes);
@@ -735,7 +735,7 @@ LONG FAR PASCAL WindowProc(HWND wind, UINT msg, WPARAM wparam, LPARAM lparam)
                Message *mousemes = new Message();
                mousemes->message = Message::MOUSE_SCROLL;
                mousemes->from = NULL;
-               mousemes->to = BoxStack::getInstance();
+        mousemes->p_to = Message::MOUSE_RECEIVER;
                mousemes->parameter = (0 & 0xFFFF) << 16 | (GET_WHEEL_DELTA_WPARAM(wparam)  &0xFFFF);
                mousemes->tag = (mpos.x & 0xFFFF) << 16 | (mpos.y & 0xFFFF);
                messageQueue->postMessage(mousemes);