The Pedigree Project 0.1
Private Types | Private Member Functions | Private Attributes | Friends | List of all members
UsbHcd::CallbackDeliveryQueue::Record Class Reference
+ Collaboration diagram for UsbHcd::CallbackDeliveryQueue::Record:

Private Types

enum class  State { Pending , Running , Complete }
 

Private Member Functions

 Record (const Key &key, Callback callback, uintptr_t parameter, ssize_t result, AfterDelivery afterDelivery, void *afterDeliveryContext, OnDestroy onDestroy, void *destroyContext)
 
void retain ()
 
void release ()
 
void waitForCompletion ()
 
void complete ()
 

Private Attributes

Key m_Key
 
Callback m_Callback
 
uintptr_t m_Parameter
 
ssize_t m_Result
 
AfterDelivery m_AfterDelivery
 
void * m_AfterDeliveryContext
 
OnDestroy m_OnDestroy
 
void * m_DestroyContext
 
Atomic< size_t > m_References
 
State m_State
 
void * m_Runner
 
WaitQueue m_CompletionWaiters
 
bool m_Completed
 

Friends

class CallbackDeliveryQueue
 

Detailed Description

Definition at line 49 of file CallbackDelivery.h.

Member Enumeration Documentation

◆ State

enum class UsbHcd::CallbackDeliveryQueue::Record::State
strongprivate

Definition at line 53 of file CallbackDelivery.h.

Constructor & Destructor Documentation

◆ Record()

UsbHcd::CallbackDeliveryQueue::Record::Record ( const Key key,
Callback  callback,
uintptr_t  parameter,
ssize_t  result,
AfterDelivery  afterDelivery,
void *  afterDeliveryContext,
OnDestroy  onDestroy,
void *  destroyContext 
)
inlineprivate

Definition at line 59 of file CallbackDelivery.h.

◆ ~Record()

UsbHcd::CallbackDeliveryQueue::Record::~Record ( )
inlineprivate

Definition at line 76 of file CallbackDelivery.h.

Member Function Documentation

◆ complete()

void UsbHcd::CallbackDeliveryQueue::Record::complete ( )
inlineprivate

Definition at line 100 of file CallbackDelivery.h.

◆ release()

void UsbHcd::CallbackDeliveryQueue::Record::release ( )
inlineprivate

Definition at line 85 of file CallbackDelivery.h.

◆ retain()

void UsbHcd::CallbackDeliveryQueue::Record::retain ( )
inlineprivate

Definition at line 81 of file CallbackDelivery.h.

◆ waitForCompletion()

void UsbHcd::CallbackDeliveryQueue::Record::waitForCompletion ( )
inlineprivate

Definition at line 90 of file CallbackDelivery.h.

Friends And Related Symbol Documentation

◆ CallbackDeliveryQueue

friend class CallbackDeliveryQueue
friend

Definition at line 51 of file CallbackDelivery.h.

Member Data Documentation

◆ m_AfterDelivery

AfterDelivery UsbHcd::CallbackDeliveryQueue::Record::m_AfterDelivery
private

Definition at line 110 of file CallbackDelivery.h.

◆ m_AfterDeliveryContext

void* UsbHcd::CallbackDeliveryQueue::Record::m_AfterDeliveryContext
private

Definition at line 111 of file CallbackDelivery.h.

◆ m_Callback

Callback UsbHcd::CallbackDeliveryQueue::Record::m_Callback
private

Definition at line 107 of file CallbackDelivery.h.

◆ m_Completed

bool UsbHcd::CallbackDeliveryQueue::Record::m_Completed
private

Protected by m_CompletionWaiters.

Definition at line 122 of file CallbackDelivery.h.

◆ m_CompletionWaiters

WaitQueue UsbHcd::CallbackDeliveryQueue::Record::m_CompletionWaiters
private

Definition at line 120 of file CallbackDelivery.h.

◆ m_DestroyContext

void* UsbHcd::CallbackDeliveryQueue::Record::m_DestroyContext
private

Definition at line 113 of file CallbackDelivery.h.

◆ m_Key

Key UsbHcd::CallbackDeliveryQueue::Record::m_Key
private

Definition at line 106 of file CallbackDelivery.h.

◆ m_OnDestroy

OnDestroy UsbHcd::CallbackDeliveryQueue::Record::m_OnDestroy
private

Definition at line 112 of file CallbackDelivery.h.

◆ m_Parameter

uintptr_t UsbHcd::CallbackDeliveryQueue::Record::m_Parameter
private

Definition at line 108 of file CallbackDelivery.h.

◆ m_References

Atomic<size_t> UsbHcd::CallbackDeliveryQueue::Record::m_References
private

Definition at line 114 of file CallbackDelivery.h.

◆ m_Result

ssize_t UsbHcd::CallbackDeliveryQueue::Record::m_Result
private

Definition at line 109 of file CallbackDelivery.h.

◆ m_Runner

void* UsbHcd::CallbackDeliveryQueue::Record::m_Runner
private

Definition at line 118 of file CallbackDelivery.h.

◆ m_State

State UsbHcd::CallbackDeliveryQueue::Record::m_State
private

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