1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 09:20:16 +01:00
Files
audacity/src/commands/ResponseQueue.cpp
Paul Licameli 5e7d41ec07 Each .cpp/.mm file includes corresponding header before any other...
... except Audacity.h

This forces us to make each header contain all forward declarations or nested
headers that it requires, rather than depend on context.
2019-03-17 22:54:52 -04:00

48 lines
995 B
C++

/**********************************************************************
Audacity - A Digital Audio Editor
Copyright 1999-2009 Audacity Team
File License: wxWidgets
Dan Horgan
******************************************************************//**
\file ResponseQueue.cpp
\brief Contains definitions for the ResponseQueue class
*//*******************************************************************/
#include "ResponseQueue.h"
#include <queue>
#include <string>
#include <wx/thread.h>
ResponseQueue::ResponseQueue()
: mCondition(mMutex)
{ }
ResponseQueue::~ResponseQueue()
{ }
void ResponseQueue::AddResponse(Response response)
{
wxMutexLocker locker(mMutex);
mResponses.push(response);
mCondition.Signal();
}
Response ResponseQueue::WaitAndGetResponse()
{
wxMutexLocker locker(mMutex);
if (mResponses.empty())
{
mCondition.Wait();
}
wxASSERT(!mResponses.empty());
Response msg = mResponses.front();
mResponses.pop();
return msg;
}