X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fadapter%2FUSBCECAdapterCommunication.cpp;h=c1645d047e37a35791a55674585aec4594409947;hb=21d8397898e90f5f90be4b0c7d42922289e8ea25;hp=8f3bb7f0bef62dde35165454f35b4c13061ee122;hpb=5ee2ae29d79824f71b011059d23d4b6e04012c1d;p=deb_libcec.git diff --git a/src/lib/adapter/USBCECAdapterCommunication.cpp b/src/lib/adapter/USBCECAdapterCommunication.cpp index 8f3bb7f..c1645d0 100644 --- a/src/lib/adapter/USBCECAdapterCommunication.cpp +++ b/src/lib/adapter/USBCECAdapterCommunication.cpp @@ -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) @@ -262,17 +240,9 @@ void *CUSBCECAdapterCommunication::Process(void) } if (!IsStopped()) - { - Sleep(5); WriteNextCommand(); - } } - /* 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))