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

#include <UsbHub.h>

+ Collaboration diagram for UsbHub::ConnectionChangeSuppression:

Public Member Functions

 ConnectionChangeSuppression (ConnectionChangeSuppression &&other)
 
ConnectionChangeSuppressionoperator= (ConnectionChangeSuppression &&other)
 
 operator bool () const
 
void reset ()
 

Private Member Functions

 ConnectionChangeSuppression (UsbHub *hub, size_t port)
 
 ConnectionChangeSuppression (const ConnectionChangeSuppression &)=delete
 
ConnectionChangeSuppressionoperator= (const ConnectionChangeSuppression &)=delete
 

Private Attributes

UsbHubm_Hub
 
size_t m_Port
 

Friends

class UsbHub
 

Detailed Description

Suppresses root-port connection-change handling for one lexical scope.

A suppressed hardware observation is remembered by UsbHub and replayed once when the outermost lease is released. The lease is move-only so an early return cannot leave a root port permanently suppressed.

Definition at line 115 of file UsbHub.h.

Constructor & Destructor Documentation

◆ ConnectionChangeSuppression() [1/3]

UsbHub::ConnectionChangeSuppression::ConnectionChangeSuppression ( )

Definition at line 139 of file UsbHub.cc.

◆ ConnectionChangeSuppression() [2/3]

UsbHub::ConnectionChangeSuppression::ConnectionChangeSuppression ( ConnectionChangeSuppression &&  other)

Definition at line 144 of file UsbHub.cc.

◆ ~ConnectionChangeSuppression()

UsbHub::ConnectionChangeSuppression::~ConnectionChangeSuppression ( )

Definition at line 151 of file UsbHub.cc.

◆ ConnectionChangeSuppression() [3/3]

UsbHub::ConnectionChangeSuppression::ConnectionChangeSuppression ( UsbHub hub,
size_t  port 
)
private

Definition at line 141 of file UsbHub.cc.

Member Function Documentation

◆ operator bool()

UsbHub::ConnectionChangeSuppression::operator bool ( ) const
inlineexplicit

Definition at line 123 of file UsbHub.h.

◆ operator=()

UsbHub::ConnectionChangeSuppression & UsbHub::ConnectionChangeSuppression::operator= ( ConnectionChangeSuppression &&  other)

Definition at line 155 of file UsbHub.cc.

◆ reset()

void UsbHub::ConnectionChangeSuppression::reset ( )

Definition at line 167 of file UsbHub.cc.

Friends And Related Symbol Documentation

◆ UsbHub

friend class UsbHub
friend

Definition at line 130 of file UsbHub.h.

Member Data Documentation

◆ m_Hub

UsbHub* UsbHub::ConnectionChangeSuppression::m_Hub
private

Definition at line 137 of file UsbHub.h.

◆ m_Port

size_t UsbHub::ConnectionChangeSuppression::m_Port
private

Definition at line 138 of file UsbHub.h.


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