The Pedigree Project 0.1
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
Ps2MouseCallbackRegistry::Registration Class Reference
+ Collaboration diagram for Ps2MouseCallbackRegistry::Registration:

Public Member Functions

bool reset ()
 
 operator bool () const
 

Private Types

using UnregisterThunk = bool(*)(void *, void *, size_t, Registration *)
 

Private Member Functions

 Registration (const Registration &)=delete
 
Registrationoperator= (const Registration &)=delete
 
void adopt (void *owner, void *slot, size_t generation, UnregisterThunk unregister)
 
void releaseFromOwner (void *owner, void *slot, size_t generation)
 

Private Attributes

void * m_pOwner
 
void * m_pSlot
 
size_t m_Generation
 
UnregisterThunk m_Unregister
 

Friends

class Ps2MouseCallbackRegistry
 

Detailed Description

Definition at line 24 of file Ps2MouseCallbackRegistry.h.

Member Typedef Documentation

◆ UnregisterThunk

using Ps2MouseCallbackRegistry::Registration::UnregisterThunk = bool (*)(void*, void*, size_t, Registration*)
private

Definition at line 26 of file Ps2MouseCallbackRegistry.h.

Constructor & Destructor Documentation

◆ Registration()

Ps2MouseCallbackRegistry::Registration::Registration ( )

Definition at line 28 of file Ps2MouseCallbackRegistry.cc.

◆ ~Registration()

Ps2MouseCallbackRegistry::Registration::~Registration ( )

Definition at line 31 of file Ps2MouseCallbackRegistry.cc.

Member Function Documentation

◆ adopt()

void Ps2MouseCallbackRegistry::Registration::adopt ( void *  owner,
void *  slot,
size_t  generation,
UnregisterThunk  unregister 
)
inlineprivate

Definition at line 51 of file Ps2MouseCallbackRegistry.h.

◆ operator bool()

Ps2MouseCallbackRegistry::Registration::operator bool ( ) const
inlineexplicit

Definition at line 41 of file Ps2MouseCallbackRegistry.h.

◆ releaseFromOwner()

void Ps2MouseCallbackRegistry::Registration::releaseFromOwner ( void *  owner,
void *  slot,
size_t  generation 
)
inlineprivate

Definition at line 58 of file Ps2MouseCallbackRegistry.h.

◆ reset()

bool Ps2MouseCallbackRegistry::Registration::reset ( )

Closes admission and retires this callback registration.

External callers drain admitted callbacks before true is returned. A callback cannot drain a live peer, so false preserves ownership for a later retry outside callback context.

Definition at line 37 of file Ps2MouseCallbackRegistry.cc.

Friends And Related Symbol Documentation

◆ Ps2MouseCallbackRegistry

friend class Ps2MouseCallbackRegistry
friend

Definition at line 46 of file Ps2MouseCallbackRegistry.h.

Member Data Documentation

◆ m_Generation

size_t Ps2MouseCallbackRegistry::Registration::m_Generation
private

Definition at line 69 of file Ps2MouseCallbackRegistry.h.

◆ m_pOwner

void* Ps2MouseCallbackRegistry::Registration::m_pOwner
private

Definition at line 67 of file Ps2MouseCallbackRegistry.h.

◆ m_pSlot

void* Ps2MouseCallbackRegistry::Registration::m_pSlot
private

Definition at line 68 of file Ps2MouseCallbackRegistry.h.

◆ m_Unregister

UnregisterThunk Ps2MouseCallbackRegistry::Registration::m_Unregister
private

Definition at line 70 of file Ps2MouseCallbackRegistry.h.


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