Audacity 3.2.0
Public Member Functions | Private Attributes | List of all members
ResponseTarget Class Referencefinal

Constructs a response (to be sent back to a script) More...

#include <CommandTargets.h>

Inheritance diagram for ResponseTarget:
[legend]
Collaboration diagram for ResponseTarget:
[legend]

Public Member Functions

 ResponseTarget ()
 
virtual ~ResponseTarget ()
 
void Update (const wxString &message) override
 
virtual void Flush () override
 
wxString GetResponse ()
 
- Public Member Functions inherited from CommandMessageTarget
 CommandMessageTarget ()
 
virtual ~CommandMessageTarget ()
 
virtual void Update (const wxString &message)=0
 
virtual void StartArray ()
 
virtual void EndArray ()
 
virtual void StartStruct ()
 
virtual void EndStruct ()
 
virtual void AddItem (const wxString &value, const wxString &name={})
 
virtual void AddBool (const bool value, const wxString &name={})
 
virtual void AddItem (const double value, const wxString &name={})
 
virtual void StartField (const wxString &name={})
 
virtual void EndField ()
 
virtual void Flush ()
 
wxString Escaped (const wxString &str)
 

Private Attributes

wxSemaphore mSemaphore
 
wxString mBuffer
 

Additional Inherited Members

- Public Attributes inherited from CommandMessageTarget
std::vector< int > mCounts
 

Detailed Description

Constructs a response (to be sent back to a script)

Definition at line 226 of file CommandTargets.h.

Constructor & Destructor Documentation

◆ ResponseTarget()

ResponseTarget::ResponseTarget ( )
inline

Definition at line 232 of file CommandTargets.h.

233 : mSemaphore(0, 1),
234 mBuffer(wxEmptyString)
235 {
236 // Cater for handling long responses quickly.
237 mBuffer.Alloc(40000);
238 }
wxSemaphore mSemaphore

References mBuffer.

◆ ~ResponseTarget()

virtual ResponseTarget::~ResponseTarget ( )
inlinevirtual

Definition at line 239 of file CommandTargets.h.

240 {
241 }

Member Function Documentation

◆ Flush()

virtual void ResponseTarget::Flush ( )
inlineoverridevirtual

Reimplemented from CommandMessageTarget.

Definition at line 246 of file CommandTargets.h.

247 {
248 mSemaphore.Post();
249 }

References mSemaphore.

◆ GetResponse()

wxString ResponseTarget::GetResponse ( )
inline

Definition at line 250 of file CommandTargets.h.

251 {
252 mSemaphore.Wait();
253 return mBuffer;
254 }

References mBuffer, and mSemaphore.

◆ Update()

void ResponseTarget::Update ( const wxString &  message)
inlineoverridevirtual

Implements CommandMessageTarget.

Definition at line 242 of file CommandTargets.h.

243 {
244 mBuffer += message;
245 }

References mBuffer.

Member Data Documentation

◆ mBuffer

wxString ResponseTarget::mBuffer
private

Definition at line 230 of file CommandTargets.h.

Referenced by GetResponse(), ResponseTarget(), and Update().

◆ mSemaphore

wxSemaphore ResponseTarget::mSemaphore
private

Definition at line 229 of file CommandTargets.h.

Referenced by Flush(), and GetResponse().


The documentation for this class was generated from the following file: