cec: removed the message processor thread in CUSBCECAdapterCommunication - not needed...
authorLars Op den Kamp <lars@opdenkamp.eu>
Wed, 28 Mar 2012 18:51:20 +0000 (20:51 +0200)
committerLars Op den Kamp <lars@opdenkamp.eu>
Wed, 28 Mar 2012 18:51:20 +0000 (20:51 +0200)
src/lib/adapter/USBCECAdapterCommunication.cpp
src/lib/adapter/USBCECAdapterCommunication.h

index 8f3bb7f0bef62dde35165454f35b4c13061ee122..5ca36bdda90dbb539c40ded817da6a6eff0d38aa 100644 (file)
@@ -42,24 +42,6 @@ using namespace PLATFORM;
 
 #define CEC_ADAPTER_PING_TIMEOUT 15000
 
-void *CUSBCECAdapterProcessor::Process(void)
-{
-  cec_command command;
-  while (!IsStopped())
-  {
-    if (m_inBuffer.Pop(command))
-      m_callback->OnCommandReceived(command);
-    Sleep(5);
-  }
-
-  return NULL;
-}
-
-void CUSBCECAdapterProcessor::AddCommand(cec_command command)
-{
-  m_inBuffer.Push(command);
-}
-
 CUSBCECAdapterCommunication::CUSBCECAdapterCommunication(CCECProcessor *processor, const char *strPort, uint16_t iBaudRate /* = 38400 */) :
     m_port(NULL),
     m_processor(processor),
@@ -69,7 +51,6 @@ CUSBCECAdapterCommunication::CUSBCECAdapterCommunication(CCECProcessor *processo
     m_lastDestination(CECDEVICE_UNKNOWN),
     m_bNextIsEscaped(false),
     m_bGotStart(false),
-    m_messageProcessor(NULL),
     m_bInitialised(false)
 {
   for (unsigned int iPtr = 0; iPtr < 15; iPtr++)
@@ -235,9 +216,6 @@ void CUSBCECAdapterCommunication::Close(void)
 
 void *CUSBCECAdapterCommunication::Process(void)
 {
-  m_messageProcessor = new CUSBCECAdapterProcessor(m_callback);
-  m_messageProcessor->CreateThread();
-
   cec_command command;
   command.Clear();
   bool bCommandReceived(false);
@@ -252,7 +230,7 @@ void *CUSBCECAdapterCommunication::Process(void)
 
     /* push the next command to the callback method if there is one */
     if (!IsStopped() && bCommandReceived)
-      m_messageProcessor->AddCommand(command);
+      m_callback->OnCommandReceived(command);
 
     /* ping the adapter every 15 seconds */
     if (pingTimeout.TimeLeft() == 0)
@@ -268,11 +246,6 @@ void *CUSBCECAdapterCommunication::Process(void)
     }
   }
 
-  /* stop the message processor */
-  m_messageProcessor->StopThread();
-  delete m_messageProcessor;
-  m_messageProcessor = NULL;
-
   /* notify all threads that are waiting on messages to be sent */
   CCECAdapterMessage *msg(NULL);
   while (m_outBuffer.Pop(msg))
index 4e7944eb5eb04964ed8c4f071b5d16cc41e1e30d..227a7e2625c3753a05a3034510d896e103aaa93e 100644 (file)
@@ -46,23 +46,6 @@ namespace CEC
 {
   class CCECProcessor;
 
-  class CUSBCECAdapterProcessor: public PLATFORM::CThread
-  {
-  public:
-    CUSBCECAdapterProcessor(IAdapterCommunicationCallback *cb) :
-      m_callback(cb) {};
-    virtual ~CUSBCECAdapterProcessor(void)
-    {
-      StopThread();
-    }
-
-    void *Process(void);
-    void AddCommand(cec_command command);
-  private:
-    IAdapterCommunicationCallback *     m_callback;
-    PLATFORM::SyncedBuffer<cec_command> m_inBuffer;
-  };
-
   class CUSBCECAdapterCommunication : public IAdapterCommunication, private PLATFORM::CThread
   {
   public:
@@ -143,7 +126,6 @@ namespace CEC
     bool                                         m_bNextIsEscaped;
     bool                                         m_bGotStart;
     IAdapterCommunicationCallback *              m_callback;
-    CUSBCECAdapterProcessor *                    m_messageProcessor;
     bool                                         m_bInitialised;
     bool                                         m_bWaitingForAck[15];
   };