Input queue implementation. More...
#include "skinkit.h"
#include "skinmon.h"
#include "swdevice.h"
#include "hqmemcpy.h"
#include "inputq.h"
#include "inputqprv.h"
#include "mem.h"
#include "eventapi.h"
#include "swevents.h"
#include "apis.h"
#include "rdrapi.h"
#include "threadapi.h"
#include "inputsapi.h"
Data Structures | |
struct | inputq_node_t |
Typedefs | |
typedef struct inputq_node_t | inputq_node_t |
Enumerations | |
enum | { INPUTQ_STATE_INIT , INPUTQ_STATE_RUNNING , INPUTQ_STATE_QUIT } |
Functions | |
inputq_entry_t * | inputq_first_entry (void) |
Take the first entry off the queue, transferring responsibility for freeing the queue entry to the caller. More... | |
void | inputq_free_entry (inputq_entry_t *entry) |
Free an input queue entry returned by inputq_first_entry(). More... | |
HqBool | inputq_wait (void) |
Block until the input queue is non-empty or explicitly woken up. More... | |
HqBool | inputq_start (void) |
void | inputq_end (void) |
Variables | |
static inputq_node_t * | input_queue = ((void*)0) |
static int32 | inputq_sources = 0 |
static int32 | inputq_nudge_id = 0 |
static uint32 | inputq_paused = 0 |
static enum { ... } | inputq_state = INPUTQ_STATE_INIT |
Input queue implementation.
typedef struct inputq_node_t inputq_node_t |
A list of input queue entries.
anonymous enum |
void inputq_end | ( | void | ) |
Deregister the Skinkit SDK input queue from RDR, and remove all entries. The input queue must be finalised before the RDR and event systems are terminated.
HqBool inputq_start | ( | void | ) |
Initialise the Skinkit SDK input queue, and register its implementation in RDR. The RDR and event systems must have been initialised before the input queue is initialised.
|
static |
The actual input queue.
|
static |
An incrementing counter used to break waiting threads out of their loops. inputq_wait() will return TRUE
if it is woken up and the nudge ID has changed since the wait started.
|
static |
Count of whether the input queue is paused/resumed using the SWEVT_INPUTS_ENABLE event.
|
static |
The number of persistent input sources that might add jobs to the input queue.
enum { ... } inputq_state |
The input queue system state.