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

#include <Process.h>

+ Collaboration diagram for Process::FileContextLease:

Public Member Functions

Fileget () const
 
Fileoperator-> () const
 
 operator bool () const
 
void reset ()
 

Private Member Functions

 FileContextLease (const FileContextLease &)=delete
 
FileContextLeaseoperator= (const FileContextLease &)=delete
 
 FileContextLease (FileContextLease &&)=delete
 
FileContextLeaseoperator= (FileContextLease &&)=delete
 
void adopt (File *file, bool vfsReference)
 
void swap (FileContextLease &other)
 

Private Attributes

Filem_pFile
 
bool m_bVfsReference
 
TerminationDeferral m_TerminationDeferral
 

Friends

class Process
 

Detailed Description

Pins a tracked controlling-terminal File for a lexical operation. Filesystem roots which are deliberately untracked remain borrowed and externally stable. Leases are thread-affine and must remain lexical.

Definition at line 192 of file Process.h.

Constructor & Destructor Documentation

◆ FileContextLease()

Process::FileContextLease::FileContextLease ( )

Definition at line 378 of file Process.cc.

◆ ~FileContextLease()

Process::FileContextLease::~FileContextLease ( )

Definition at line 381 of file Process.cc.

Member Function Documentation

◆ adopt()

void Process::FileContextLease::adopt ( File file,
bool  vfsReference 
)
private

Definition at line 395 of file Process.cc.

◆ get()

File * Process::FileContextLease::get ( ) const
inline

Definition at line 197 of file Process.h.

◆ operator bool()

Process::FileContextLease::operator bool ( ) const
inlineexplicit

Definition at line 205 of file Process.h.

◆ operator->()

File * Process::FileContextLease::operator-> ( ) const
inline

Definition at line 201 of file Process.h.

◆ reset()

void Process::FileContextLease::reset ( )

Definition at line 385 of file Process.cc.

◆ swap()

void Process::FileContextLease::swap ( FileContextLease other)
private

Definition at line 403 of file Process.cc.

Friends And Related Symbol Documentation

◆ Process

friend class Process
friend

Definition at line 212 of file Process.h.

Member Data Documentation

◆ m_bVfsReference

bool Process::FileContextLease::m_bVfsReference
private

Definition at line 223 of file Process.h.

◆ m_pFile

File* Process::FileContextLease::m_pFile
private

Definition at line 222 of file Process.h.

◆ m_TerminationDeferral

TerminationDeferral Process::FileContextLease::m_TerminationDeferral
private

Definition at line 224 of file Process.h.


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