The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
UsbPnP::Registration Class Reference

#include <UsbPnP.h>

+ Collaboration diagram for UsbPnP::Registration:

Public Member Functions

 Registration (Registration &&other)
 
Registration & operator= (Registration &&other)
 
bool reset ()
 
 operator bool () const
 

Private Member Functions

void adopt (UsbPnP *owner, CallbackItem *item)
 
 Registration (const Registration &)=delete
 
Registration & operator= (const Registration &)=delete
 

Private Attributes

Atomic< UsbPnP * > m_Owner
 
Atomic< CallbackItem * > m_Item
 
Atomic< bool > m_Resetting
 

Friends

class UsbPnP
 

Detailed Description

Owns one callback registration.

reset() closes admission to the factory/probe callback. Outside callback dispatch it waits for callbacks which were already admitted and returns true once callback-owned state may be destroyed. During any PnP callback, the target is closed but retained and false is returned; ownership remains live for a later retry from outside callback context. A successful external reset also replaces every object bound by this registration with its generic USB interface and drains the driver destructors before returning.

Definition at line 64 of file UsbPnP.h.

Constructor & Destructor Documentation

◆ Registration() [1/2]

UsbPnP::Registration::Registration ( )

Definition at line 91 of file UsbPnP.cc.

◆ Registration() [2/2]

UsbPnP::Registration::Registration ( Registration &&  other)

Definition at line 93 of file UsbPnP.cc.

◆ ~Registration()

UsbPnP::Registration::~Registration ( )

Definition at line 102 of file UsbPnP.cc.

Member Function Documentation

◆ adopt()

void UsbPnP::Registration::adopt ( UsbPnP *  owner,
CallbackItem *  item 
)
private

Definition at line 148 of file UsbPnP.cc.

◆ operator bool()

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

Definition at line 74 of file UsbPnP.h.

◆ operator=()

UsbPnP::Registration & UsbPnP::Registration::operator= ( Registration &&  other)

Definition at line 108 of file UsbPnP.cc.

◆ reset()

bool UsbPnP::Registration::reset ( )

Definition at line 122 of file UsbPnP.cc.

Friends And Related Symbol Documentation

◆ UsbPnP

friend class UsbPnP
friend

Definition at line 79 of file UsbPnP.h.

Member Data Documentation

◆ m_Item

Atomic<CallbackItem*> UsbPnP::Registration::m_Item
private

Definition at line 87 of file UsbPnP.h.

◆ m_Owner

Atomic<UsbPnP*> UsbPnP::Registration::m_Owner
private

Definition at line 86 of file UsbPnP.h.

◆ m_Resetting

Atomic<bool> UsbPnP::Registration::m_Resetting
private

Definition at line 88 of file UsbPnP.h.


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