AsyncQueue Class Reference

Asynchronous queue for commands. More...

Inheritance diagram for AsyncQueue:

Inheritance graph
[legend]
Collaboration diagram for AsyncQueue:

Collaboration graph
[legend]

Public Member Functions

void push (const CmdGenericPtr &rcCommand, bool removePrev=true)
 Add a command in the queue, after having removed the commands of the same type already in the queue if needed.
void remove (const string &rType, const CmdGenericPtr &rcCommand)
 Remove the commands of the given type.
void flush ()
 Flush the queue and execute the commands.

Static Public Member Functions

static AsyncQueueinstance (intf_thread_t *pIntf)
 Get the instance of AsyncQueue Returns NULL if initialization failed.
static void destroy (intf_thread_t *pIntf)
 Destroy the instance of AsyncQueue.

Friends

class CmdFlush

Data Structures

class  CmdFlush

Detailed Description

Asynchronous queue for commands.

Member Function Documentation

AsyncQueue * AsyncQueue::instance ( intf_thread_t pIntf  )  [static]

void AsyncQueue::destroy ( intf_thread_t pIntf  )  [static]

Destroy the instance of AsyncQueue.

References intf_sys_t::p_queue, and intf_thread_t::p_sys.

Referenced by Run().

void AsyncQueue::push ( const CmdGenericPtr rcCommand,
bool  removePrev = true 
)

Add a command in the queue, after having removed the commands of the same type already in the queue if needed.

References CountedPtr< T >::get(), vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by VoutManager::controlWindow(), CmdUpdateItem::execute(), VoutManager::getWindow(), VlcProc::on_item_current_changed(), onSystrayChange(), onTaskBarChange(), VoutManager::releaseWindow(), and Run().

void AsyncQueue::remove ( const string &  rType,
const CmdGenericPtr rcCommand 
)

Remove the commands of the given type.

References CountedPtr< T >::get().

void AsyncQueue::flush (  ) 

Flush the queue and execute the commands.

References CountedPtr< T >::get(), vlc_mutex_lock(), and vlc_mutex_unlock().


Friends And Related Function Documentation

friend class CmdFlush [friend]


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

Generated on Fri Nov 20 08:05:56 2009 for VLC by  doxygen 1.5.6