AFI
Advanced Forwarding Interface
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
AftRemove Class Reference

Transactional insert used for removing sandbox state. More...

#include <AftSandbox.h>

Public Member Functions

 AftRemove (const AftInsertPtr &insert)
 Constructor for insert blocks. More...
 
template<class T >
void remove (T handler)
 
void update (const AftRemovePtr &newRemove)
 Used to trim the remove block of any nodes/entries required by an update. More...
 
void push (const AftNodeToken nodeToken)
 Push token on to remove block. More...
 
void push (const AftNodePtr &node)
 Push node on to remove block. More...
 
void push (const AftEntryPtr &entry)
 Push entry on to remove block. More...
 
void erase (const AftNodeToken nodeToken)
 Erase a node token in a remove block. More...
 
void erase (const AftEntryPtr &entry)
 Erase an entry in a remove block. More...
 
void clear ()
 Clear any pushed state from block.
 
const AftTokenVectornodes () const
 
const AftEntryVectorentries () const
 

Static Public Member Functions

static AftRemovePtr create ()
 Factory constructor for remove blocks.
 
static AftRemovePtr create (const AftInsertPtr &insert)
 Factory constructor for insert blocks. More...
 

Protected Attributes

friend AftSandbox
 AftSandbox accesses protected vectors.
 
AftTokenVector _nodes
 Vector of node tokens to delete.
 
AftEntryVector _entries
 Vector of entries to delete.
 
bool _sent
 True if the remove has been sent to a sandbox.
 

Detailed Description

Transactional insert used for removing sandbox state.

Constructor & Destructor Documentation

AftRemove::AftRemove ( const AftInsertPtr insert)
inline

Constructor for insert blocks.

Parameters
[in]insertReference to insert block to convert to remove block

Member Function Documentation

static AftRemovePtr AftRemove::create ( const AftInsertPtr insert)
inlinestatic

Factory constructor for insert blocks.

Parameters
[in]insertReference to insert block to convert to remove block
const AftEntryVector& AftRemove::entries ( ) const
inline
Returns
Vector of AftEntry objects to insert sandbox
void AftRemove::erase ( const AftNodeToken  nodeToken)
inline

Erase a node token in a remove block.

Parameters
[in]nodeTokenNode token to find and erase
void AftRemove::erase ( const AftEntryPtr entry)
inline

Erase an entry in a remove block.

Parameters
[in]entryReference to entry to find and erase
const AftTokenVector& AftRemove::nodes ( ) const
inline
Returns
Vector of AftNode objects to insert in sandbox
void AftRemove::push ( const AftNodeToken  nodeToken)
inline

Push token on to remove block.

Parameters
[in]nodeTokenToken to use for pushed node
void AftRemove::push ( const AftNodePtr node)
inline

Push node on to remove block.

Parameters
[in]nodeReference to node to push into remove block
void AftRemove::push ( const AftEntryPtr entry)
inline

Push entry on to remove block.

Parameters
[in]entryReference to entry to push into remove block
void AftRemove::update ( const AftRemovePtr newRemove)
inline

Used to trim the remove block of any nodes/entries required by an update.

Parameters
[in]newRemoveReference to remove block to filter against

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